现在的位置: 首页 > 综合 > 正文

CyclicBarrier线程同步工具

2018年02月13日 ⁄ 综合 ⁄ 共 612字 ⁄ 字号 评论关闭
package com.entel.research;

import java.util.concurrent.CyclicBarrier;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class JunitCyclicBarrier
{
	public static void main(String[] args)
	{
		ExecutorService executorService = Executors.newFixedThreadPool(5);
		
		final CyclicBarrier cyclicBarrier = new CyclicBarrier(5);
		
		
		for(int i=0;i<5;i++)
		{
			Runnable runnable = new Runnable()
			{
				@Override
				public void run()
				{
					try
					{
						System.out.println("This is the waiting");
						cyclicBarrier.await();
						
						System.out.println("The End!!!");
					}
					catch (Exception e)
					{
						e.printStackTrace();
					}
				}
			};
			executorService.execute(runnable);
		}
		
		executorService.shutdown();
	}
}

运行结果:

【上篇】
【下篇】

抱歉!评论已关闭.