看到了线程组,觉得有点难理解,就加了几条注释,希望大家能看得懂。
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; } } } }
最好是设置好每个线程的名字,不然不好理解。
相关推荐
【北大Java--多线程】课程主要探讨了Java编程中多线程的相关概念和技术,这是在计算机科学中处理并发执行的重要部分。多线程允许在单一程序中同时执行多个任务,提高了程序的效率和响应性。 1. **多线程基本概念**...
在Java编程中,多线程是并发编程的重要组成部分,它允许程序同时执行多个任务,从而提高了系统的效率和响应性。然而,在某些场景下,我们可能需要控制线程的执行顺序,确保它们按照特定的顺序交替运行,这在并发编程...
- **负载均衡**:在多线程服务器应用中,可以根据核心的负载情况动态调整线程绑定,确保资源的均匀分配。 - **减少竞态条件**:在某些同步问题上,绑定线程到特定核心可以降低竞争同一资源的概率,有助于减少竞态...
总之,Java多线程编程是一个深度和广度都非常大的主题,涵盖了从基础的线程创建到复杂的并发控制策略,理解并熟练掌握这些知识对于编写高效、可靠的并发Java应用程序具有决定性的影响。通过学习提供的课件和实战练习...
Java多线程技术是编程中不可或缺的一部分,它允许程序在同一时间执行多个任务,从而提高效率和响应速度。本文将深入探讨多线程相关的概念。 首先,我们要了解程序、进程和线程的区别。程序是一组指令的集合,静态...
注意,多线程并不会增加单个CPU的数据处理能力,但在多核系统或分布式计算中,合理利用线程可以显著提升性能。此外,当面临I/O阻塞等延迟操作时,多线程能提高用户体验,因为它允许其他线程继续执行。
在Java编程领域,线程是并发处理的核心概念,它允许程序在同一时间...理解并熟练掌握这些知识点,对于解决Java并发问题和优化多线程应用至关重要。在实际工作中,还需要关注线程安全、性能优化和代码可维护性等问题。
综上所述,"java多线程查询数据库"是一个涉及多线程技术、线程池管理、并发控制、分页查询等多个方面的复杂问题。通过理解和掌握这些知识点,我们可以有效地提高数据库操作的效率和系统的响应速度。
Java多线程端口扫描是网络管理与安全领域中常用的一种技术,主要用于检测网络设备上哪些端口处于开放状态,从而分析网络的安全性或者优化网络配置。本程序通过利用Java的多线程特性,提高了扫描速度,使得在短时间内...
在Java编程中,多线程是一项关键特性,它允许程序同时执行多个任务,极大地提高了效率。在这个特定的项目中,“java用多线程进行排序算法的比较”关注的是如何利用多线程技术来实现和比较不同的排序算法,尤其是快速...
Java程序基础中的多线程是Java编程中一个重要的概念,特别是在构建高效并发应用程序时不可或缺。在Java中,多线程允许程序同时执行多个任务,从而提高计算机系统的利用率和响应速度。 1. **线程与进程**: - **...
本文将深入探讨Java多线程中的关键知识点,包括创建线程、主线程、线程优先级、线程组、线程同步以及线程间的通信。 1. **创建线程** 在Java中,可以通过两种方式创建线程:继承`Thread`类或实现`Runnable`接口。...
### Java多线程编程总结 #### 一、Java线程:概念与原理 1. **操作系统中线程和进程的概念** - 当前的操作系统通常为多任务操作系统,多线程是实现多任务的一种手段。 - **进程**:指内存中运行的应用程序,每个...
### Java多线程运算集合知识点解析 #### 一、Java多线程概念与原理 - **操作系统中的线程与进程**: - **进程**:指的是一个正在运行的应用程序,每个进程都拥有独立的内存空间。 - **线程**:是进程中的一个...
Java多线程网络爬虫是一种高效地从互联网上抓取数据的技术,特别是在处理大量网页时,多线程能显著提高爬虫的效率。本项目以时光网(Mtime)为例,展示如何使用Java实现这样的爬虫。时光网是一个提供电影、电视剧、...
总之,Java多线程和异步调用是构建高效、响应迅速的应用程序的关键技术。通过合理利用这些工具和机制,开发者可以编写出能够充分利用多核处理器优势的代码,从而提高软件性能。在实际应用中,理解并熟练掌握这些概念...
Java多线程是Java编程中的核心概念,它允许程序同时执行多个任务,提高了软件的效率和响应性。在Java中,多线程的实现主要有两种方式:通过继承Thread类和实现Runnable接口。这篇资料深入探讨了Java多线程的相关知识...
### Java多线程文章系列知识点概述 #### 一、Java多线程编程详解 ##### 1. 理解多线程 - **定义**: 多线程是一种机制,允许程序中并行执行多个指令流,每个指令流称为一个线程。 - **特点**: - 线程拥有独立的...
在Java多线程编程中,有时我们需要确保所有子线程执行完毕后再进行后续操作,例如在并发测试、数据聚合或资源清理等场景。本篇文章将详细介绍五种在Java中等待所有子线程执行完的方法。 ### 方法一:使用`sleep`...
Java多线程是Java编程中不可或缺的一部分,它允许程序同时执行多个任务,提高了程序的效率和响应速度。本文将深入探讨Java多线程的相关概念、线程类和接口的使用,以及线程的同步与互斥。 首先,我们需要理解进程与...