线程(一)--线程控制-join方法

来源:互联网 发布:全民夺宝助手软件 编辑:程序博客网 时间:2024/05/19 19:58
1.让一个线程等待join线程完成后再执行:
join()  
2.让一个线程等待join线程多少毫秒后再执行:
join(long millis) 
3.让一个线程等待join线程多少毫秒多少微秒后再执行:
join(long millis, int nanos) 
4下面的例子:让主线程在加入的线程执行完成后再执行
public class MyThread extends Thread {
public MyThread(String name){
super(name);
}
 
@Override
public void run() {
for (int i = 0; i < 50; i++) {
System.out.println(getName()+""+i);
}
}
}
为了验证问题这个循环输出50次加入线程的名称。
5.在主线程中启动要加入的线程
如果不使用join()方法
public static void main(String[] args){
MyThread mThread=new MyThread("加入的线程");
mThread.start();
//try {
//mThread.join();
//} catch (InterruptedException e) {
// TODO Auto-generated catch block
//e.printStackTrace();
//}
int i=0;
System.out.println(Thread.currentThread().getName()+"----"+i++);
}
结果会在线程之前会先执行主线程,然后再执行子线程



在主线程中启动要加入的线程
public static void main(String[] args){
MyThread mThread=new MyThread("加入的线程");
mThread.start();
try {
mThread.join();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
int i=0;
System.out.println(Thread.currentThread().getName()+"----"+i++);
}

如果使用了jion方法又如何呢。看下面


看到主线程是在加入线程执行完成后再执行的。

  
0 0
原创粉丝点击