您的位置:首页 > 其它

线程Thread join 方法---优先执行

2014-03-17 22:47 260 查看
join方法:

当A线程执行到了B线程的join()方法,A就会等待,等B线程都执行完,A才会执行。

join可以用来临时加入线程执行。

class Demo implements Runnable {

@Override
public void run() {
for (int x = 0; x < 70; x++)
System.out.println(Thread.currentThread().getName() + "=====" + x);
}

}


/**
* 情况1 : t1.start(), t1.join() t1.join(),t1抢夺cpu执行权,主线程将执行权冻结 t1拿到执行权
* 直到t1结束后,主线程才开始执行
*
*
* 情况2: t1.start(); t2.start(); t1.join(); t1抢夺cpu执行权,主线程将执行权冻结,
* t1拿到执行权,直到t1结束后,主线程才开始执行 所以:此时能参与抢夺执行权的是t1和t2 知道t1结束,主线程加入抢夺
*
* @author qingxiangzhang
*
*/
public class JoinDemo {
public static void main(String[] args) {
Demo d = new Demo();
Thread t1 = new Thread(d);
Thread t2 = new Thread(d);
try {
t1.start();
t2.start();
t1.join();
} catch (Exception e) {
e.printStackTrace();
}
for (int x = 0; x < 80; x++)
System.out.println("main...." + x);
System.out.println("over");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐