zoukankan      html  css  js  c++  java
  • Java Thread join() 的用法

    Java Thread中, join() 方法是让调用该方法的主线程执行run()时暂时卡住,等run()执行完成后, 主线程再调用执行join()后面的代码。示例:

    class ThreadTesterA implements Runnable {
    
    	private int counter;
    
    	@Override
    	public void run() {
    		while (counter <= 10) {
    			System.out.print("Counter = " + counter + " ");
    			counter++;
    		}
    		System.out.println();
    	}
    }
    
    class ThreadTesterB implements Runnable {
    
    	private int i;
    
    	@Override
    	public void run() {
    		while (i <= 10) {
    			System.out.print("i = " + i + " ");
    			i++;
    		}
    		System.out.println();
    	}
    }
    
    public class ThreadTester {
    	public static void main(String[] args) throws InterruptedException {
    		Thread t1 = new Thread(new ThreadTesterA());
    		Thread t2 = new Thread(new ThreadTesterB());
    		t1.start();
    		t1.join(); // wait t1 to be finished
    		t2.start();
    		t2.join(); // in this program, this may be removed
    	}
    }

    如果去掉t1.join()这个语句过后, 输出的顺序是乱的, 加上这个语句后, 就会按照顺序输出,  从某种意义上说实现了同步。

    转载自:http://my.oschina.net/u/2338362/blog/516237?p=1

  • 相关阅读:
    python 小兵(4)之文件操作 小问题
    python 小兵(4)之文件操作
    排序
    Java的数据结构
    基本数据操作
    部署tomcat到Linux
    找工作的一些知识积累
    BootStrap
    操作系统
    做Global Admin
  • 原文地址:https://www.cnblogs.com/lihuidu/p/5806397.html
Copyright © 2011-2022 走看看