Java中怎么实现join线程操作

发布时间:2021-07-27 16:39:34 作者:Leah
来源:亿速云 阅读:192

Java中怎么实现join线程操作,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

一 点睛

Tread提供了让一个线程等待另外一个线程完成的方法——join()方法。当在某个程序执行流中调用其他线程的join()方法时,调用线程将被阻塞,直到被join()方法加入的join线程执行完后为止。

join()方法通常由使用线程的程序调用,以将大问题划分成许多小问题,每个小问题分配一个线程。当所有小问题都得到处理后,再调用主线程来进一步操作。

二 代码

public class JoinThread extends Thread{   // 提供一个有参数的构造器,用于设置该线程的名字   public JoinThread(String name)   {      super(name);   }   // 重写run()方法,定义线程执行体   public void run()   {      for (int i = 0; i < 100 ; i++ )      {        System.out.println(getName() + " " + i);      }   }   public static void main(String[] args)throws Exception   {      // 启动子线程      new JoinThread("新线程").start();      for (int i = 0; i < 100 ; i++ )      {        if (i == 20)        {           JoinThread jt = new JoinThread("被Join的线程");           jt.start();           // main线程调用了jt线程的join()方法,main线程           // 必须等jt执行结束才会向下执行           jt.join();        }        System.out.println(Thread.currentThread().getName()           + " " + i);      }   }}

三 运行结果

main 0main 1main 2main 3main 4main 5main 6新线程 0......新线程 11新线程 12新线程 13main 7main 8......main 16main 17新线程 14main 18main 19新线程 15新线程 16......新线程 31被Join的线程 0新线程 32被Join的线程 1新线程 33被Join的线程 2新线程 34被Join的线程 3新线程 35新线程 36新线程 37新线程 38新线程 39被Join的线程 4被Join的线程 5......被Join的线程 13被Join的线程 14新线程 40被Join的线程 15被Join的线程 16被Join的线程 17新线程 41新线程 42被Join的线程 18被Join的线程 19......被Join的线程 38被Join的线程 39新线程 43新线程 44新线程 45被Join的线程 40被Join的线程 41被Join的线程 42被Join的线程 43新线程 46新线程 47新线程 48......新线程 60新线程 61被Join的线程 44......被Join的线程 98被Join的线程 99新线程 62新线程 63......新线程 98新线程 99main 20main 21main 22main 23

四 说明

1 程序开始是mian线程和新线程并发执行。

2 当i为20时,main线程开始等待“被Join的线程”执行完成,此时“被Join的线程”和“新线程”并发执行。

3 当“被Join的线程”执行完成,main线程继续运行,此时“main”和“新线程”并发执行。

看完上述内容,你们掌握Java中怎么实现join线程操作的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

推荐阅读:
  1. java 多线程-join插队
  2. 怎么在java中使用join线程

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java join

上一篇:Java中怎么实现线程组操作

下一篇:MySQL中怎么操作日期和时间

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》