黑马程序员技术交流社区
标题: Thread类中的join()方法 [打印本页]
作者: 画了一个圈儿 时间: 2014-8-18 09:44
标题: Thread类中的join()方法
本帖最后由 画了一个圈儿 于 2014-8-18 09:47 编辑
join()方法的作用:临时加入线程执行- class JoinDemo
- {
- public static void main(String[] args) throws Exception
- {
- Join jo = new Join();
- Thread t1 = new Thread(jo);
- Thread t2 = new Thread(jo);
- t1.start();
- t1.join(); //主线程将CPU执行权交给线程t1
- //t1运行结束后再将执行术交还给主线程
- t2.start();
- ......
- }
- }
复制代码
如上代码所示,仅开启一个线程t1,之后就调用t1. join()时:线程t1会得到CPU执行权,t1执行结束后,再将执行权交还给主线程,t2开启后,主线程与t2交替执行。
- class JoinDemo
- {
- public static void main(String[] args) throws Exception
- {
- Join jo = new Join();
- Thread t1 = new Thread(jo);
- Thread t2 = new Thread(jo);
- t1.start();
- t2.start();
- t1.join(); //主线程将CPU执行权交给线程t1
- //此时t1、t2都有执行资格,它们会随机交替执行
- //t1运行结束后再将执行术交还给主线程
- ......
- }
- }
复制代码如果t1、t2都开启,再调用t1. join():主线程将执行权交给t1,此时由于t1、t2都有执行资格,则两线程会随机交替执行。当t1运行结束后,将执行权交还给主线程。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |