设为首页 加入收藏

TOP

Java 多线程之--- Thread.join介绍
2014-11-23 21:26:31 来源: 作者: 【 】 浏览:16
Tags:Java 线程 --- Thread.join 介绍

这次说的是Thread的join方法,以前总是使用他的run和sleep方法,哪两个都是比较清楚的,对于这个join方法,他的主要功能就是,当你在一个方法里面调用其他的线程的时候,如果使用了类似thread1.join(),这样的话,这个调用的线程就开始一直等待thread1这个线程返回,什么时候thread1这个线程的run方法运行完了返回了,这个当前的主线程才会继续向下运行。当然,join还有两个参数方法,这个参数的意思就是,首先等待这个线程调用完,比如thread1.sleep(1000),这样主线程就会等待thread1运行,直到thread1运行完返回或者当前主线程等待超过1秒钟就会不理这个thread1线程继续向下执行。


代码如下


package com.bird.concursey;


import java.util.Date;
import java.util.concurrent.TimeUnit;


/**
* 数据源
* @author bird
* 2014年9月15日 下午10:10:04
*/
public class DataSourceLoader implements Runnable{


public void run() {
System.out.println("begining the data source loding" + new Date());
try {
TimeUnit.SECONDS.sleep(4);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("begining the data source loding" + new Date());
}

public static void main(String[] args) {
DataSourceLoader dsLoader = new DataSourceLoader();
Thread thread1 = new Thread(dsLoader, "dsloader");
NetworkConnectionsLoader ncLoader = new NetworkConnectionsLoader();
Thread thread2 = new Thread(ncLoader, "ncloader");
thread1.start();
thread2.start();
try {
thread1.join();
// thread2.join(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(new Date());
}
}



package com.bird.concursey;


import java.util.Date;
import java.util.concurrent.TimeUnit;


public class NetworkConnectionsLoader implements Runnable {


public void run() {
System.out.println("begining the data source loding" + new Date());
try {
TimeUnit.SECONDS.sleep(6);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("begining the data source loding" + new Date());
}


}



begining the data source lodingMon Sep 15 22:27:41 CST 2014
begining the data source lodingMon Sep 15 22:27:41 CST 2014
begining the data source lodingMon Sep 15 22:27:45 CST 2014
Mon Sep 15 22:27:46 CST 2014
begining the data source lodingMon Sep 15 22:27:47 CST 2014


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇jQuery学习简要笔记 下一篇Java 多线程之-----守护进程

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: