美文网首页
Java异步任务转同步任务的方式

Java异步任务转同步任务的方式

作者: Answer_yzpppp | 来源:发表于2017-03-26 21:14 被阅读829次

1.Java的CountDownLatch

CountDownLatch是一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。

主要方法

public CountDownLatch(int count);

public voidcountDown();

public voidawait() throwsInterruptedException

构造方法参数指定了计数的次数

countDown方法,当前线程调用此方法,则计数减一

await方法,调用此方法会一直阻塞当前线程,直到计时器的值为0

2.Thread.join

Thead.join方法同样可以使当前线程阻塞,直到另一个线程执行完毕。

用法:

public class A(){

 doSomeThing;

B.join();

doSomeThing After B finish;

}

在Thread A中调用Thread B的join方法。A线程阻塞,B线程执行,B线程执行完毕后,A线程继续执行

另外Java还有一个和CountDownLatch类很相似的同步辅助类CyclicBarrier。它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。使用场景是需要所有的子任务都完成时,才执行主任务。这篇博客中有例子:http://blog.csdn.net/shihuacai/article/details/8856407

相关文章

  • Java异步任务转同步任务的方式

    1.Java的CountDownLatch CountDownLatch是一个同步辅助类,在完成一组正在其他线程中...

  • java多线程(核心篇)第九章

    第九章 Java异步编程 9.1 同步计算与异步计算 以异步方式执行的任务,称之为异步任务,其任务的发起与任务的执...

  • Spring Boot与任务

    异步任务、定时任务、邮件任务 一、异步任务在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的;但是...

  • Java中实现异步转同步的几种方式

    Java中实现异步转同步的几种方式 Android常见的异步转同步的方式是通过Callback + Handler...

  • JS事件循环机制

    1. 同步任务与异步任务 所有的任务可以分为同步任务和异步任务。 同步任务就是立即执行的任务,同步任务一般会直接进...

  • 异步

    同步任务 && 异步任务 程序里面所有的任务,可以分成两类:同步任务(synchronous)和异步任务(asyn...

  • 面试总结

    概念问题: 什么是进程? 同步与异步 同步与异步更关注交互双方是否可以同时工作。以同步的方式完成任务意味着多个任务...

  • JavaScript 异步编程

    同步模式与异步模式 时间循环与消息队列 异步编程的几种方式 Primise异步方案 宏任务 /微任务队列 Ge...

  • OC 线程笔记

    GCD: 创建任务,添加到队列,GCD自动分发任务 同步/异步同步任务,异步任务的区别: 线程是否要等待任务结束,...

  • 同步,异步,阻塞和非阻塞

    1.同步与异步 同步与异步更关注交互双方是否可以同时工作。以同步的方式完成任务意味着多个任务的完成次序是串行的,...

网友评论

      本文标题:Java异步任务转同步任务的方式

      本文链接:https://www.haomeiwen.com/subject/teokottx.html