java的CyclicBarrier
来源:互联网 发布:老挝嫖尸妓院图片知乎 编辑:程序博客网 时间:2024/06/07 00:07
在Java中CyclicBarrier的用途个人理解主要用在线程的同步,可以让多个线程之间进行等待,如果线程达到设置的线程那么就可以继续往下运行,例如:
import java.util.concurrent.CyclicBarrier;public class CyclicBarrierDemo {public static void main(String[] args) {Runnable barrier1Action = new Runnable() {public void run() {System.out.println("BarrierAction 1 executed ");}};Runnable barrier2Action = new Runnable() {public void run() {System.out.println("BarrierAction 2 executed ");}};CyclicBarrier barrier1 = new CyclicBarrier(2, barrier1Action);CyclicBarrier barrier2 = new CyclicBarrier(2, barrier2Action);CyclicBarrierRunnable barrierRunnable1 = new CyclicBarrierRunnable(barrier1, barrier2);CyclicBarrierRunnable barrierRunnable2 = new CyclicBarrierRunnable(barrier1, barrier2);new Thread(barrierRunnable1).start();new Thread(barrierRunnable2).start();}}
mport java.util.concurrent.BrokenBarrierException;import java.util.concurrent.CyclicBarrier;public class CyclicBarrierRunnable implements Runnable {CyclicBarrier barrier1 = null;CyclicBarrier barrier2 = null;public CyclicBarrierRunnable(CyclicBarrier barrier1, CyclicBarrier barrier2) {this.barrier1 = barrier1;this.barrier2 = barrier2;}public void run() {try {Thread.sleep(1000);System.out.println(Thread.currentThread().getName() + " waiting at barrier 1");this.barrier1.await();Thread.sleep(1000);System.out.println(Thread.currentThread().getName() + " waiting at barrier 2");this.barrier2.await();System.out.println(Thread.currentThread().getName() + " done!");} catch (InterruptedException e) {e.printStackTrace();} catch (BrokenBarrierException e) {e.printStackTrace();}}}
阅读全文
0 0
- Java CyclicBarrier的用法
- java的CyclicBarrier
- Java CyclicBarrier的使用
- Java-CyclicBarrier的简单例子
- java并发:CyclicBarrier的使用
- Java中CyclicBarrier的用法
- java CyclicBarrier
- Java CyclicBarrier
- Java CyclicBarrier
- java CyclicBarrier
- java CyclicBarrier
- Java CyclicBarrier
- Java的CyclicBarrier(循环屏障)
- 《Java核心技术》读书笔记:CyclicBarrier的使用示例
- Java多线程之~~~CyclicBarrier 类的使用
- Java多线程 - 浅析CyclicBarrier的用法
- java中CyclicBarrier的简单用法
- Java并发编程之CyclicBarrier的使用
- UVA 10161
- Kotlin笔记一
- android增量更新
- java poi Excel文件导入
- 解构赋值的用途
- java的CyclicBarrier
- OkHttpClient 请求超时问题-------以解决
- android性能优化典范
- centos7.2搭建mysql5.6并实现远程登录
- less的使用
- 怎样去使用一款免费的ERP
- 阻塞和非阻塞、同步和异步
- 解读:HTTP协议
- InetAddress类概述与实例