Semaphore 信号量 控制进程
来源:互联网 发布:linux内网穿透知乎 编辑:程序博客网 时间:2024/06/18 09:27
import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Semaphore;/** * Semaphore 信号量主要在多线程环境下 控制进程 * @author admin * */public class UseSemaphore { public static void main(String[] args) { //线程池 ExecutorService exec = Executors.newCachedThreadPool(); //只能5个线程同时访问 final Semaphore semp = new Semaphore(5); //模拟20个客户端访问 for (int index = 0; index < 20; index++) { final int NO = index; Runnable run = new Runnable(){ public void run(){ try{ semp.acquire();//获取许可 System.out.println("Accessing" + NO); //模拟实际业务逻辑 Thread.sleep((long)(Math.random()*1000)); //访问完成 释放 semp.release(); }catch(Exception e){ e.printStackTrace(); } } }; exec.execute(run); } try{ Thread.sleep(10); }catch(Exception e){ e.printStackTrace(); } //退出线程池 exec.shutdown(); }}
阅读全文
0 0
- Semaphore 信号量 控制进程
- 进程信号量(Semaphore) 之一
- 进程通信-信号量semaphore
- java多线程控制-信号量Semaphore
- Semaphore信号量控制访问量研究
- mutex线程控制和信号量semaphore
- C# 使用Semaphore(信号量)控制多线程
- java多线程Thread-Semaphore控制信号量
- C# 使用Semaphore(信号量)控制多线程
- linux进程间通信之信号量(semaphore)
- linux进程间通信之信号量(semaphore)
- linux进程间通信之信号量(semaphore)
- linux进程间通信-信号量(semaphore)
- 进程间通信之信号量Semaphore
- 信号量semaphore
- 信号量Semaphore
- 信号量semaphore
- 信号量Semaphore
- commons-fileupload 上传中断异常处理
- Oracle 子查询
- 【目录】Ceph专题文章索引
- JVisualVM监视远程主机Tomcat运行情况
- java函数式编程
- Semaphore 信号量 控制进程
- Hyperledger fabric 学习笔记: go语言 与 JSON
- 杭电1696——基础的二分
- java算法之快速排序
- 每日一题(26)—— 无限循环的几种形式
- JSP工作原理
- 《互联网信贷风险与大数据》读书笔记(六)
- 深入 Generator 函数(三) (Going Async With ES6 Generators)
- Qt 5.7.1 在 msvc2015 方式下的静态编译过程