JAVA并发工具类

一、分而治之

fork/join     二叉树  二分查找  快速排序  归并排序  mapreduce  动态规划

1、fork/join(工作密取)

  RecursiveTask要有返回值

  RecursiveAction没有返回值

2、countDownLatch(闭锁)

作用:直指一个线程等待其他的线程执行完后再执行,(就是一个加强版的join())

3、CyclicBarrier

4、Semaphore(控制同时访问某个特定资源的线程数量,例如用于流量控制)

5、Exchanger用于两个线程间的数据交换

6、Future

  isDone()不管正常或者异常结束又或者自己取消,都会返回true

  isCancelled如果任务在完成前被取消,返回true;其他情况返回false

  cancel()(1)任务还没开始,返回false

       (2)任务已经开始,cancel(true)中断正在进行的任务,中断成功返回true;cannel(false)不去中断已经进行的任务

     (3)任务已经结束,返回false

猜你喜欢

转载自www.cnblogs.com/erdanyang/p/12333302.html