Java中怎么实现线程组操作

Java中怎么实现线程组操作,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站建设、做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的清涧网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

一 点睛

1 Java使用ThreadGroup来表示线程组,它可以对一批线程进行分类管理,Java允许程序直接对线程组进行控制。

2 一旦某个线程加入了指定线程组之后,该线程将一直属于该线程组,直到该线程死亡,线程运行中途不能改变它所属的线程组。

3 Thread类提供了如下几个构造器来设置新创建的线程属于哪个线程组:

Thread(ThreadGroup group, Runnable target):以target的run方法作为线程执行体创建新线程,属于group线程组。

Thread(ThreadGroup group, Runnable target, String name):以target的run方法作为线程执行体创建新线程,该线程属于group线程组,且线程名为name。

Thread(ThreadGroup group, String name):创建新线程,新线程名为name,属于group线程组。

4 Thread类没有提供setThreadGroup的方法来改变线程所属的线程组,但提供了一个getThreadGroup()方法来返回该线程所属的线程组,getThreadGroup()方法的返回值是ThreadGroup对象,表示一个线程组。

5 ThreadGroup类有如下两个简单的构造器来创建实例。

ThreadGroup(String name):以指定线程组名字来创建新的线程组。

ThreadGroup(ThreadGroup parent, String name):以指定的名字、指定的父线程组创建一个新线程组。

二 实战

1 代码

class MyThread extends Thread{   // 提供指定线程名的构造器   public MyThread(String name)   {      super(name);   }   // 提供指定线程名、线程组的构造器   public MyThread(ThreadGroup group , String name)   {      super(group, name);   }   public void run()   {      for (int i = 0; i < 3 ; i++ )      {        System.out.println(getName() + " 线程的i变量" + i);      }   }}public class ThreadGroupTest{   public static void main(String[] args)   {      // 获取主线程所在的线程组,这是所有线程默认的线程组      ThreadGroup mainGroup = Thread.currentThread().getThreadGroup();      System.out.println("主线程组的名字:"        + mainGroup.getName());      System.out.println("主线程组是否是后台线程组:"        + mainGroup.isDaemon());      new MyThread("主线程组的线程").start();      ThreadGroup tg = new ThreadGroup("新线程组");      tg.setDaemon(true);      System.out.println("tg线程组是否是后台线程组:"        + tg.isDaemon());      MyThread tt = new MyThread(tg , "tg组的线程甲");      tt.start();      new MyThread(tg , "tg组的线程乙").start();   }}

2 运行

主线程组的名字:main主线程组是否是后台线程组:falsetg线程组是否是后台线程组:true主线程组的线程 线程的i变量0tg组的线程甲 线程的i变量0tg组的线程甲 线程的i变量1主线程组的线程 线程的i变量1tg组的线程乙 线程的i变量0tg组的线程乙 线程的i变量1tg组的线程乙 线程的i变量2主线程组的线程 线程的i变量2tg组的线程甲 线程的i变量2

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。

新闻标题:Java中怎么实现线程组操作
网站URL:https://www.cdcxhl.com/article24/iihdje.html

成都网站建设公司_创新互联,为您提供网页设计公司全网营销推广网站制作品牌网站建设网站维护微信公众号

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站托管运营