• CyclicBarrier簡介


    package CyclicBarrier;

    import java.util.concurrent.CyclicBarrier;
    import java.util.concurrent.atomic.AtomicInteger;

    public class TestCyclicBarrier {

        private static final int THREAD_NUM = 5;
        static AtomicInteger jisu = new AtomicInteger(0);
        
        public static class WorkerThread implements Runnable{

            CyclicBarrier barrier;
            
            public WorkerThread(CyclicBarrier b){
                this.barrier = b;
            }
            
            @Override
            public void run() {
                // TODO Auto-generated method stub
                try{
                    jisu.incrementAndGet();
                    System.out.println("Worker's waiting");
                    //线程在这里等待,直到所有线程都到达barrier。
                    barrier.await();
                    System.out.println("ID:"+Thread.currentThread().getId()+" Working"+"  最終得出相同的jusu  "+jisu);
                }catch(Exception e){
                    e.printStackTrace();
                }
            }
            
        }
        
        /**
         * @param args
         */
        public static void main(String[] args) {
            CyclicBarrier cb = new CyclicBarrier(THREAD_NUM, new Runnable() {
                //当所有线程到达barrier时执行
                @Override
                public void run() {
                    System.out.println("規定綫程數都到達會到達這裏  這裏處理完  其他綫程處理await()後面代碼");
                    try {
                        Thread.sleep(1000);
                    } catch (InterruptedException e) {}
                    
                }
            });
            
            for(int i=0;i<THREAD_NUM;i++){
                new Thread(new WorkerThread(cb)).start();
            }
        }

    }

    質料   http://www.cnblogs.com/techyc/archive/2013/03/13/2957059.html

  • 相关阅读:
    推荐一款在IntelliJ IDEA中使用微信/QQ的插件
    springboot整合easyexcel实现Excel导入导出
    Spring Boot 跨域访问
    springboot整合mybatis-plus逆向工程
    给你自己的博客加个 Markdown
    Spring Boot实战:拦截器与过滤器
    CentOS软件的安装,更新与卸载命令
    Springboot整合pagehelper分页
    ajax请求成功回调函数没有执行问题
    ubuntu git生成ssh key (公钥私钥)配置github或者码云
  • 原文地址:https://www.cnblogs.com/LiuPan2016/p/6509287.html
Copyright © 2020-2023  润新知