java多线程CyclicBarrier加法计数器

Posted 500年

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java多线程CyclicBarrier加法计数器相关的知识,希望对你有一定的参考价值。

CyclicBarrier加法计数器

import java.util.concurrent.CyclicBarrier;

public class CyclicBarrierDemo {

	public static void main(String[] args) {
		// 集齐7颗龙珠,召唤大神
		CyclicBarrier cyclicBarrier = new CyclicBarrier(7, () -> {
			System.out.println("神龙现世!");
		});
		for (int i = 1; i <= 7; i++) {
			final int temp = i;
			new Thread(() -> {
				System.out.println("收集到 " + temp + "龙珠");
				try {
					cyclicBarrier.await();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}, String.valueOf(i)).start();
		}

	}

}

运行结果

收集到 1龙珠
收集到 6龙珠
收集到 5龙珠
收集到 4龙珠
收集到 2龙珠
收集到 3龙珠
收集到 7龙珠
神龙现世!

特别鸣谢:狂神说Java老师的无私奉献

.
.
.
下一篇 java多线程(二) CountDownLatch减法计数器

以上是关于java多线程CyclicBarrier加法计数器的主要内容,如果未能解决你的问题,请参考以下文章

CyclicBarrier工具类使用

多线程(八同步计数器-CyclicBarrier)

JAVA并发包源码分析循环栅栏:CyclicBarrier

多线程之美3一Java并发工具类

java 多线程分段等待执行完成状况,循环屏障CyclicBarrier | Java工具类

多线程-CountDownLatch,CyclicBarrier,Semaphore,Exchanger,Phaser