zoukankan      html  css  js  c++  java
  • 多线程中join()的用法

    Thread中,join()方法的作用是调用线程等待该线程完成后,才能继续用下运行。

    public class TestThread5 {
    	public static void main(String[] args) throws InterruptedException {
    		Runner0 run5 = new Runner0();
    		Thread th5 = new Thread(run5);
    		th5.start();
    		th5.join();//join()方法用在此处是为了等待主线程结束后运行子线程
    
    		for(int i=0;i<5;i++){
    			System.out.println("子线程:"+i);
    			}
    	}
    }
    	class Runner0 implements Runnable{
    		public void run(){
    			for(int i=0;i<5;i++)
    				System.out.println("主线程:"+i);
    		}
    	}
    

    上述代码的运行结构如下所示:

    当然,如果不使用join()方法

    public class TestThread6{
    	public static void main(String[] args) throws InterruptedException {
    		Runner0 run5 = new Runner0();
    		Thread th5 = new Thread(run5);
    		th5.start();
    //		th5.join();
    
    		for(int i=0;i<4;i++){
    			System.out.println("子线程:"+i);
    			}
    	}
    }
    	class Runner0 implements Runnable{
    		public void run(){
    			for(int i=0;i<4;i++)
    				System.out.println("主线程:"+i);
    		}
    	}
    

    如上代码注释掉jion()方法,

     根据上面两个不同的代码,输出的不同,很容易就能理解join()方法。

    yian
  • 相关阅读:
    js秒换成天时分
    vuex
    匹配iPhoneX
    ASP 解析json
    WPF 实现多语言支持
    c# 用DotNetZip来解压/压缩文件
    WPF UI Close button
    VB 获取所有窗体菜单信息
    ASP/ASP.NET/VB6文件上传
    c# 上传图片到一个外链相册服务器
  • 原文地址:https://www.cnblogs.com/xiangpeng/p/7656780.html
Copyright © 2011-2022 走看看