首页 > 代码库 > java多线程中join用法
java多线程中join用法
thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程。比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后,才会继续执行线程B。
package com.wzs; /** * Java多线程中join用法 * * @author Administrator * */ public class JoinTest { public static void main(String[] args) { BThread bThread = new BThread("-BThread-"); AThread aThread = new AThread(bThread, "-AThread-"); bThread.start(); aThread.start(); } } class AThread extends Thread { BThread bThread; public AThread(BThread bThread, String str) { super(str); this.bThread = bThread; } @Override public void run() { for (int i = 0; i < 5; i++) { System.out.println(Thread.currentThread().getName() + " : " + i); try { bThread.join(); } catch (InterruptedException e) { e.printStackTrace(); } } } } class BThread extends Thread { public BThread(String str) { super(str); } @Override public void run() { for (int i = 0; i < 5; i++) { System.out.println(Thread.currentThread().getName() + " : " + i); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } }
输出结果:
-BThread- : 0 -AThread- : 0 -BThread- : 1 -BThread- : 2 -BThread- : 3 -BThread- : 4 -AThread- : 1 -AThread- : 2 -AThread- : 3 -AThread- : 4
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。