/**
* 多线程进行同步的几种方式:
* 1,ExecutorService中的awaitTermination方法,实现线程池中同步
* 2,CountDownLatch,线程计数,调用await方法阻塞直到子线程执行结束
* 3,Thread的join方法,阻塞直到线程结束
*
*/
public class ThreadSynchTest {
static final CountDownLatch latch = new CountDownLatch(3);// 闭锁
public static void main(String[] args) {
f3();
}
/**
* 使用ExecutorService的shutdown和awaitTermination方法实现线程同步
* ExecutorService的awaitTermination方法是一个阻塞式的方法,阻塞直到线程池中所有任务执行结束,
* 可以设置超时时间待
*
*/
static void f1(){
ExecutorService executorService = Executors.newCachedThreadPool();
long startTime = System.currentTimeMillis();
executorService.execute(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(200);
System.err.println(" 线程4 执行结束");
} catch (InterruptedException e) {
}
}
});
executorService.execute(new Runnable() {
@Override
public void run() {
try {
Thread.
java多线程之线程同步
最新推荐文章于 2024-06-21 14:08:48 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)