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
CyclicBarrier簡介的更多相关文章
- Scripting Languages 簡介
Scripting Languages 簡介 何謂 Scripting? 命令稿語言 scripting language 是什麼? 很難給一個嚴格的定義; 不妨看看最具代表性的幾個例子: perl, ...
- Source Tree 簡介
Table of Contents 1. 什麼是 Source Tree ? 1.1. 下載 1.2. SourceTree 介面簡介 1.3. git 指令/狀態圖 2. SourceTrees 超 ...
- 一起來玩鳥 Starling Framework 簡介
開場 Starling Framework是一套Flash 2D遊戲開發"工具",是使用Flash最新的Stage3D API建構出來的一套Framework.最大優點在於使用GP ...
- SQL Server 的 Statistics 簡介
當你要清空「資料表(table)」,或倒入大量「資料(data;record)」,或公司「資料庫(database)」改用新版本要資料大搬家…等情形,不只是要重建「索引(index)」,還應要重建或更 ...
- 網站SSL加密原理簡介(2张图,握手有9个步骤,解释的很清楚)
Secure Socket Layer說明 SSL是Secure Socket Layer(安全套接層協議)的縮寫,可以在Internet上提供秘密性傳輸.最早是Netscape公司所提出,SSL的目 ...
- COB (Chip On Board) 製程介紹/簡介/注意事項 I
COB (Chip On Board)在電子製造業並不是一項新鮮的技術,但最近我卻常常被問到相關的問題及資料索取.也許真的是產品越來越小了,而較進階的技術又太貴,所以又有人回過頭來考慮COB的製程. ...
- Vue簡介
vue使用由下向上的增量開發模型: vue是javascript的漸進框架: vue的目標是盡量使用簡單的API實現響應的數據綁定和組合的視圖組件.
- jQuery 簡介
jQuery:是一個js庫,可以極大地簡化編程,“寫得少做得多”. jquery的作用: 挑選元素.操作屬性.事件函數.動畫和效果.ajax: jQuery庫:google和microsoft都支持, ...
- 第一章 Linux內核簡介
1. Linux是類Unix系統,但他不是Unix. 儘管Linux借鑑了Unix的許多設計並且實現了Unix的API(由Posix標準和其他Single Unix Specification定義的) ...
随机推荐
- VS2015 编译前/后拷贝文件到指定目录
项目属性 —> Build Events —>Pre-build / Post-build event command line 中: Copy 源路径 目标路径(将路径用 " ...
- eclipse 代码检查插件使用
本文是按照以下这篇文章进行实践而来. 因此请参照: https://www.ibm.com/developerworks/cn/java/j-ap01117/index.html 五种插件: Ch ...
- linux之Ubuntu下Django+uWSGI+nginx部署
http://www.chenxm.cc/post/275.html?segmentfault
- Activity生命周期,切换,参数传递,bundle(包),值对象,Activity参数返回,Activity的启动模式
Activity代表手机屏幕的一屏,或是平板电脑中的一个窗口.它是android应用中最重要的组成单元之一,提供了和用户交互的可视化界面.在一个Activity中,可以添加很多组件,这些组件负责具体的 ...
- vue:在路由跳转中使用拦截器
1:首先在路由对象中的某一个具体的路由对象加这样一个属性 meta: { requireAuth:true } 2:然后在main.js中添加这段代码 router.beforeEach((to, ...
- 1047B_Cover Points
B. Cover Points time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...
- 尚硅谷springboot学习23-SpringMVC配置
1. Spring MVC auto-configuration 以下是SpringBoot对SpringMVC的默认配置:(WebMvcAutoConfiguration) Inclusion of ...
- 10:处理 json
json 通用的数据类型, 所有的语言都认识.json 是字符串.key-value 必须使用双引号1. loads() 和 dumps() 的使用 json.loads() 将 json 字符串转换 ...
- Reduction: the word AT
Reduction: the word AT Share Tweet Share Tagged With: AT Reduction Study the AT reduction. There ar ...
- 【372】Kaggle 相关经验
参考:机器学习系列(3)_逻辑回归应用之Kaggle泰坦尼克之灾 参考:Kaggle泰坦尼克特征工程和模型融合 『解决一个问题的方法和思路不止一种』『没有所谓的机器学习算法优劣,也没有绝对高性能的机器 ...