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

来源:互联网 发布:java获取编码方式 编辑:程序博客网 时间:2024/06/05 20:25

join方法:

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

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

class Demo implements Runnable {@Overridepublic 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");}}


0 0
原创粉丝点击