zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    如何使用pgpool failover_stream.sh自己控制选择指定的master节点
    使用pgpool管理数据库集群故障的问题
    pgpool中定义的数据库节点及pgpool支持的复制模式
    pgpool中的配置参数的定义
    pgpool-II在故障切换过程中是如何选举新主节点的
    nginx的proxy_pass路径转发规则浅析(末尾/问题)
    elasticsearch 安装配置详解
    查看ElasticSearch服务状态和结果的URL
    Elastic数据迁移方法及注意事项
    Kafka安装及部署
  • 原文地址:https://www.cnblogs.com/LiuPan2016/p/6509287.html
Copyright © 2011-2022 走看看