美文网首页Java 核心技术
并发编程-CyclicBarrier屏障

并发编程-CyclicBarrier屏障

作者: 迦叶_金色的人生_荣耀而又辉煌 | 来源:发表于2020-12-02 07:20 被阅读0次

上一篇 <<<Semaphore信号量
下一篇 >>>线程池


  • 屏障---CyclicBarrier
  • new CyclicBarrier(5); 需要等待的线程总数
  • cyclicBarrier.await();等待线程数达到屏障数,然后多个线程一起执行后面的操作

测试代码

CyclicBarrier cyclicBarrier=new CyclicBarrier(3);
for (int i = 0; i < 5; i++) {
    Writer writer = new Writer(cyclicBarrier);
    writer.start();
}

public void run() {
    System.out.println(System.currentTimeMillis()+" 线程" + Thread.currentThread().getName() + ",正在写入数据");
    try {
        Thread.sleep(3000);
    } catch (Exception e) {

    }
    System.out.println(System.currentTimeMillis()+" 线程" + Thread.currentThread().getName() + ",写入数据成功.....");

    try {
        cyclicBarrier.await();
    } catch (Exception e) {
    }
    System.out.println(System.currentTimeMillis()+" 线程" + Thread.currentThread().getName() + "所有线程执行完毕..........");
}

相关文章链接:
多线程基础
线程安全与解决方案
锁的深入化
锁的优化
Java内存模型(JMM)
Volatile解决JMM的可见性问题
Volatile的伪共享和重排序
CAS无锁模式及ABA问题
Synchronized锁
Lock锁
AQS同步器
Condition
CountDownLatch同步计数器
Semaphore信号量
线程池
并发队列
Callable与Future模式
Fork/Join框架
Threadlocal
Disruptor框架
如何优化多线程总结

相关文章

网友评论

    本文标题:并发编程-CyclicBarrier屏障

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