`
ShrMuscles
  • 浏览: 7395 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Java - 多线程 线程组

阅读更多

  看到了线程组,觉得有点难理解,就加了几条注释,希望大家能看得懂。

  

public class Demo {
	public static void main(String[] args) {
		// 实例化两个线程,默认情况下,线程属于主线程组
		MyThread mt1 = new MyThread();
		MyThread mt2 = new MyThread();
		// 设置两个线程的名字
		mt1.setName("线程mt1");
		mt2.setName("线程mt2");

		ThreadGroup g1 = mt1.getThreadGroup();
		ThreadGroup g2 = mt2.getThreadGroup();
		// 这两个线程都属于main线程
		System.out.println("线程mt1:" + g1.getName());
		System.out.println("线程mt2:" + g2.getName());
		System.out.println("*****************************");
		// 自定义一个线程组
		ThreadGroup tg = new ThreadGroup("我的线程组");
		// 给mt1线程和mt2线程分组
		// 参数1表示自定义线程组,参数2表示要加入线程组的线程,参数3是Thread对象的名字
		Thread t1 = new Thread(tg, mt1, "线程t1");
		Thread t2 = new Thread(tg, mt2, "线程t2");

		System.out.println("线程t1:" + t1.getThreadGroup().getName());
		System.out.println("线程t2:" + t2.getThreadGroup().getName());
		System.out.println("*****************************");
		// 启动两个线程,run方法中运行的是mt1和mt2线程
		t1.start();
		t2.start();
		// 停掉tg线程组当中的所有线程
		try {
			System.out.println("主线程睡眠3秒....");
			Thread.sleep(3000);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		System.out.println("主线程醒了之后,把tg线程中所有的线程都干掉!");
		tg.interrupt();
	}
}

 

public class MyThread extends Thread {
	@Override
	public void run() {
		for (int i = 0; i < 50; i++) {
			try {
				Thread.sleep(500);
				System.out.println(this.getName() + " i = " + i);
			} catch (InterruptedException e) {
				System.out.println(this.getName() + "被停掉!");
				break;
			}
		}
	}
}

   最好是设置好每个线程的名字,不然不好理解。

 

 

1
2
分享到:
评论
4 楼 ShrMuscles 2016-08-24  
tieye 写道
如何在 线程池 中 给线程设置名称 了解吗?

前几天写的,很抱歉现在才回,前几天只看到线程组,还没有看线程池。
3 楼 ShrMuscles 2016-08-24  
zhp8341 写道


zhp8341 写道
我看看

2 楼 tieye 2016-08-23  
如何在 线程池 中 给线程设置名称 了解吗?
1 楼 zhp8341 2016-08-23  

相关推荐

    北大Java--多线程

    【北大Java--多线程】课程主要探讨了Java编程中多线程的相关概念和技术,这是在计算机科学中处理并发执行的重要部分。多线程允许在单一程序中同时执行多个任务,提高了程序的效率和响应性。 1. **多线程基本概念**...

    JAVA线程高级-线程按序交替执行

    在Java编程中,多线程是并发编程的重要组成部分,它允许程序同时执行多个任务,从而提高了系统的效率和响应性。然而,在某些场景下,我们可能需要控制线程的执行顺序,确保它们按照特定的顺序交替运行,这在并发编程...

    Java-Thread-Affinity,将Java线程绑定到给定的内核.zip

    - **负载均衡**:在多线程服务器应用中,可以根据核心的负载情况动态调整线程绑定,确保资源的均匀分配。 - **减少竞态条件**:在某些同步问题上,绑定线程到特定核心可以降低竞争同一资源的概率,有助于减少竞态...

    java课件-5-多线程

    总之,Java多线程编程是一个深度和广度都非常大的主题,涵盖了从基础的线程创建到复杂的并发控制策略,理解并熟练掌握这些知识对于编写高效、可靠的并发Java应用程序具有决定性的影响。通过学习提供的课件和实战练习...

    Java多线程-多线程相关概念

    Java多线程技术是编程中不可或缺的一部分,它允许程序在同一时间执行多个任务,从而提高效率和响应速度。本文将深入探讨多线程相关的概念。 首先,我们要了解程序、进程和线程的区别。程序是一组指令的集合,静态...

    java编程 ---线程

    注意,多线程并不会增加单个CPU的数据处理能力,但在多核系统或分布式计算中,合理利用线程可以显著提升性能。此外,当面临I/O阻塞等延迟操作时,多线程能提高用户体验,因为它允许其他线程继续执行。

    java常见面试题---线程篇

    在Java编程领域,线程是并发处理的核心概念,它允许程序在同一时间...理解并熟练掌握这些知识点,对于解决Java并发问题和优化多线程应用至关重要。在实际工作中,还需要关注线程安全、性能优化和代码可维护性等问题。

    java多线程查询数据库

    综上所述,"java多线程查询数据库"是一个涉及多线程技术、线程池管理、并发控制、分页查询等多个方面的复杂问题。通过理解和掌握这些知识点,我们可以有效地提高数据库操作的效率和系统的响应速度。

    Java多线程端口快速扫描

    Java多线程端口扫描是网络管理与安全领域中常用的一种技术,主要用于检测网络设备上哪些端口处于开放状态,从而分析网络的安全性或者优化网络配置。本程序通过利用Java的多线程特性,提高了扫描速度,使得在短时间内...

    java用多线程进行排序算法的比较

    在Java编程中,多线程是一项关键特性,它允许程序同时执行多个任务,极大地提高了效率。在这个特定的项目中,“java用多线程进行排序算法的比较”关注的是如何利用多线程技术来实现和比较不同的排序算法,尤其是快速...

    Java程序基础-多线程概述.pptx

    Java程序基础中的多线程是Java编程中一个重要的概念,特别是在构建高效并发应用程序时不可或缺。在Java中,多线程允许程序同时执行多个任务,从而提高计算机系统的利用率和响应速度。 1. **线程与进程**: - **...

    java多线程代码案例(创建线程,主线程,线程优先级,线程组,线程同步,线程间的通信)

    本文将深入探讨Java多线程中的关键知识点,包括创建线程、主线程、线程优先级、线程组、线程同步以及线程间的通信。 1. **创建线程** 在Java中,可以通过两种方式创建线程:继承`Thread`类或实现`Runnable`接口。...

    Java多线程编程总结

    ### Java多线程编程总结 #### 一、Java线程:概念与原理 1. **操作系统中线程和进程的概念** - 当前的操作系统通常为多任务操作系统,多线程是实现多任务的一种手段。 - **进程**:指内存中运行的应用程序,每个...

    Java多线程运算集合

    ### Java多线程运算集合知识点解析 #### 一、Java多线程概念与原理 - **操作系统中的线程与进程**: - **进程**:指的是一个正在运行的应用程序,每个进程都拥有独立的内存空间。 - **线程**:是进程中的一个...

    Java多线程网络爬虫(时光网为例)源码

    Java多线程网络爬虫是一种高效地从互联网上抓取数据的技术,特别是在处理大量网页时,多线程能显著提高爬虫的效率。本项目以时光网(Mtime)为例,展示如何使用Java实现这样的爬虫。时光网是一个提供电影、电视剧、...

    Java多线程实现异步调用实例

    总之,Java多线程和异步调用是构建高效、响应迅速的应用程序的关键技术。通过合理利用这些工具和机制,开发者可以编写出能够充分利用多核处理器优势的代码,从而提高软件性能。在实际应用中,理解并熟练掌握这些概念...

    Java多线程资料

    Java多线程是Java编程中的核心概念,它允许程序同时执行多个任务,提高了软件的效率和响应性。在Java中,多线程的实现主要有两种方式:通过继承Thread类和实现Runnable接口。这篇资料深入探讨了Java多线程的相关知识...

    Java多线程文章系列.pdf

    ### Java多线程文章系列知识点概述 #### 一、Java多线程编程详解 ##### 1. 理解多线程 - **定义**: 多线程是一种机制,允许程序中并行执行多个指令流,每个指令流称为一个线程。 - **特点**: - 线程拥有独立的...

    Java多线程--等待所有子线程执行完的五种方法.docx

    在Java多线程编程中,有时我们需要确保所有子线程执行完毕后再进行后续操作,例如在并发测试、数据聚合或资源清理等场景。本篇文章将详细介绍五种在Java中等待所有子线程执行完的方法。 ### 方法一:使用`sleep`...

    Java 多线程 PPT

    Java多线程是Java编程中不可或缺的一部分,它允许程序同时执行多个任务,提高了程序的效率和响应速度。本文将深入探讨Java多线程的相关概念、线程类和接口的使用,以及线程的同步与互斥。 首先,我们需要理解进程与...

Global site tag (gtag.js) - Google Analytics