Thread中join用法

来源:互联网 发布:淘宝天机平台不让申请 编辑:程序博客网 时间:2024/06/05 08:47

1.背景

Java支持多线程,CPU分配给线程的时间片是随机的,有时需要控制线程的执行顺序,如执行完threadA再去执行threadB

2.用法

public class SyncTest {public static void main(String[] args){Thread threadA = new demoThread("threadA");Thread threadB = new demoThread("threadB");threadA.start();try {threadA.join();} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}threadB.start();}}class demoThread extends Thread{String name;public demoThread(String name){this.name = name;}@Overridepublic void run() {// TODO Auto-generated method stub//super.run()int i;for (i =0;i<10;i++){System.out.println(name+"is running~~");}}}
注释threadA.join()

threadAis running~~threadBis running~~threadAis running~~threadBis running~~threadAis running~~threadBis running~~threadAis running~~threadBis running~~threadAis running~~threadBis running~~threadAis running~~threadBis running~~threadAis running~~threadBis running~~threadAis running~~threadAis running~~threadAis running~~threadBis running~~threadBis running~~threadBis running~~

加上threadA.join()

threadAis running~~threadAis running~~threadAis running~~threadAis running~~threadAis running~~threadAis running~~threadAis running~~threadAis running~~threadAis running~~threadAis running~~threadBis running~~threadBis running~~threadBis running~~threadBis running~~threadBis running~~threadBis running~~threadBis running~~threadBis running~~threadBis running~~threadBis running~~