线程的调度-合并

来源:互联网 发布:VB加断点的原理 编辑:程序博客网 时间:2024/06/06 14:14

线程的合并的含义:将各个并行的线程合并为一个单线程;

应用场景:当一个线程必须等待另一个线程执行完毕才能执行时,使用join方法;

package test;

public class Test {

 /**
  * @param args
  */
 public static void main(String[] args) {
  Thread t1 = new MyThread1();
  t1.start();
  for(int i =0 ; i< 20 ; i++){
   System.out.println("主线程第"+i+"次执行");
   if(i>2){
    try {
     t1.join();
    } catch (InterruptedException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    }
   }
  }
  
 }

}
class MyThread1 extends Thread{

 @Override
 public void run() {
  for(int i=0;i<10;i++){
   System.out.println("线程1第"+i
     +"次执行");
  }
 }
 
}

运行结果:

主线程第0次执行
主线程第1次执行
主线程第2次执行
主线程第3次执行
线程1第0次执行
线程1第1次执行
线程1第2次执行
线程1第3次执行
线程1第4次执行
线程1第5次执行
线程1第6次执行
线程1第7次执行
线程1第8次执行
线程1第9次执行
主线程第4次执行
主线程第5次执行
主线程第6次执行
主线程第7次执行
主线程第8次执行
主线程第9次执行
主线程第10次执行
主线程第11次执行
主线程第12次执行
主线程第13次执行
主线程第14次执行
主线程第15次执行
主线程第16次执行
主线程第17次执行
主线程第18次执行
主线程第19次执行