![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发编程工具类
Deram_川少
该工程师很懒,没有介绍~~~~
展开
-
Fork\Join分而治之--RecursiveTask和RecursiveAction(一)
fork/join 分而治之 1.什么是Fork/join框架? 从JDK1.7开始,Java提供Fork/Join框架用于并行执行任务。它的思想就是讲一个大任务分割成若干小任务,最终汇总每个小任务的结果得到这个大任务的结果。如下图: 2.什么是分而治之思想 可以简单的理解为:将规模为N的问题,当N<阈值,直接解决;当N>阈值,将N分解为K个小规模子问题,子问题互相对立,与原问题形式...原创 2019-07-30 10:13:23 · 1447 阅读 · 0 评论 -
CountDownLatch并发工具类(二)
CountDownLatch 1. countDownLatch 简介 CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他countDownLatch中的线程里执行完后再执行其他等待的线程。 举例:要求主线程等待10个同样步骤的线程执行完后,主线程才继续执行下面的任务。任务开始时,就需要将10个线程放入计数器countDownLatch中,主线程等待,直到10个...原创 2019-08-04 14:57:34 · 405 阅读 · 0 评论 -
CyclicBarrier并发工具类(三)
CyclicBarrier 让一组线程达到某个屏障(同步点)被阻塞,一直到组内最后一个线程达到屏障时,屏障开放,所有被阻塞的线程会继续运行; 两种构造方法 CyclicBarrier(int parties);//parties表示屏障拦截的线程数量 CyclicBarrier(int parties, Runnable barrierAction),屏障开放,其中barrierAction...原创 2019-08-04 21:05:14 · 105 阅读 · 0 评论 -
Callable、Future和FutureTask (五)
Callable、Future和FutureTask 通常大家都知道创建线程的方式主要是继承Thread和实现Runable接口,下面为大家介绍第三种方式,实现Callable接口。Callable只能在ExecutorService的线程池中跑,并且有返回结果,也可以通过返回的Future对象查询执行状态(Future 本身也是一种设计模式,它是用来取得异步任务的结果)。 结构图 Futu...原创 2019-08-05 10:02:03 · 336 阅读 · 0 评论 -
Semaphore并发工具类(四)
Semaphore Semaphore是一种在多线程中的信号量,主要协调各个线程,以保证它们能够正确、合理的使用公共资源的设施,也是操作系统中用于控制进程同步互斥的量。Semaphore是一种计数信号量,用于管理一组资源,内部是基于AQS的共享模式。它相当于给线程规定一个量从而控制允许活动的线程数,可以理解为与数据库连接池一样的,最多允许多少个线程拿到锁资源,其余的就等待锁资源的释放。 Sem...原创 2019-08-05 09:39:21 · 123 阅读 · 0 评论