Semaphore:用在有多少个线程可以同时访问一个资源,如控制流量;
CountDownLatch:一般用在等所有线程完成某组操作之后才做接下来的任务,如并发读取一个数据文件,要等所有线程完成后才去做统计数据操作。
CyclicBarrier:有点类似spring中的切面编程,在一个线程的一个切面切入一块逻辑。
Semaphore:用在有多少个线程可以同时访问一个资源,如控制流量;
CountDownLatch:一般用在等所有线程完成某组操作之后才做接下来的任务,如并发读取一个数据文件,要等所有线程完成后才去做统计数据操作。
CyclicBarrier:有点类似spring中的切面编程,在一个线程的一个切面切入一块逻辑。