java中的Semaphore
来源:互联网 发布:网络数据包发送工具 编辑:程序博客网 时间:2024/06/01 07:48
由于线程之间存在资源的竞争,所有根据CPU的调节,线程的执行先后是随机的。
如果某些线程执行的时候,希望独占CPU资源,可以使用Semaphore信号量。
线程的定义可以如下:
import java.util.concurrent.Semaphore;public class SubThread extends Thread{private Semaphore semaphore; public SubThread(Semaphore semaphore){ this.semaphore=semaphore; } public Semaphore getSemaphore() { return semaphore; } @Overridepublic void run() {// TODO Auto-generated method stubint i = 0;while( i < 100){i++;System.out.println("No."+i+" Sub thread11111111 is running!");try {Thread.sleep(100);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}semaphore.release();}}
该线程的利用方法如下:
public static void main(String[] args) { try { SubThread subThread = new SubThread(new Semaphore(0)); SubThread2 subThread2 = new SubThread2(); SubThread3 subThread3 = new SubThread3(); subThread.start(); subThread.getSemaphore().acquire(); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("Main thread is running!"); }
该线程会执行完再执行接下来的代码。
0 0
- java中的信号量Semaphore
- Java中的信号量Semaphore
- java中的Semaphore
- Java中的信号量Semaphore
- java并发中的Semaphore
- java中的synchronized与semaphore
- java中的计数信号量(Counting Semaphore)
- Java中的Semaphore和Lock区别
- Java Semaphore
- java Semaphore
- Java Semaphore
- java Semaphore
- java semaphore
- java Semaphore
- java-Semaphore
- Java Semaphore
- Semaphore Java
- java中的信号量semaphore实现生产者消费者模式
- Activity堆栈管理器 以及 应用退出的两种方案
- AngularJs的controller 多次执行问题
- 解释器模式——定义一种简单的语言
- use properties write to config.properties files
- java中thread的start()和run()的区别
- java中的Semaphore
- 迭代器模式一访问人员列表
- Android中元素按比例布局
- 要时刻绷紧生命的弦
- http缓存
- Android设置Button各种状态下背景改变
- Java设计模式三(原型模式、适配器模式)
- 中介者模式一多人聊天室
- Log4j根据级别输出到不同文件