Semaphore 允许多个线程同时访问
来源:互联网 发布:网络上豆汁是什么意思 编辑:程序博客网 时间:2024/06/08 00:48
/** * * @author beiyaoyao */public class SemaphoreDemo implements Runnable { //设置有几个线程可以进入执行的代码段 final Semaphore semaphore = new Semaphore(5); @Override public void run() { try { semaphore.acquire(); Thread.sleep(5000); System.out.println(Thread.currentThread().getId() + "exec"); //释放信号量,如果不释放导致内存泄漏,那么进入该临界区的线程资源就越来越少 semaphore.release(); } catch (InterruptedException e) { e.printStackTrace(); } } public static void main(String[] args) { //newFixedThreadPool(10)用工厂生产一个容纳10个线程的线程池 ExecutorService exec = Executors.newFixedThreadPool(10); final SemaphoreDemo demo = new SemaphoreDemo(); for(int i = 0 ; i < 10 ; i ++){ exec.submit(demo); } exec.shutdown(); }}
执行完该程序后,首先休眠5秒,结束后会输出5个线程的ID,再休眠5秒,继续输出5个线程的id。输出的线程id,以5个一组为单位。
0 0
- Semaphore 允许多个线程同时访问
- JDK并发包---(7)允许多个线程同时访问的:信号量(Semaphore)
- java Semaphore信号亮-允许多个任务同时访问这个资源--thinking in java21.7.6
- 《并发编程》--11.允许多个线程同时访问的信号量Semaphpre
- 多个线程同时访问资源
- 多线程Demo-Semaphore 控制同时访问资源的线程个数
- 使用Semaphore控制某个方法允许并发访问的线程的个数
- VB.Net程序设计:跨线程弹出等待提示窗体,允许多个等待提示窗体同时存在。
- server2003同时允许多个用户远程登录
- hibernate中是否存在多个线程同时访问同一个Session?
- Java: 使用信号量(Semaphore)保护多个共享资源的访问
- 使用PowerBuilder同时访问多个数据库
- 多个线程同时下载任务
- java同时启动多个线程
- 【CountDownLatch】实现多个线程同时启动
- Semaphore 控制并发访问线程数
- 通过semaphore信号灯,开启多个线程,但只并发3个线程
- 如何确保N个线程可以访问N个资源同时又不导致死锁
- PAT-1002-乙
- busybox的init详解
- 远程无法访问linux Mysql解决方案
- C#面向对象编程(一)
- xampp集成环境里查看php版本信息
- Semaphore 允许多个线程同时访问
- PAT天梯赛——L1-041. 寻找250
- TCL学习之数组
- 高精度bign类
- Android8.0新系统刷机新尝鲜
- 三种基于感知哈希算法的相似图像检索技术
- iOS进程间通讯
- 虚拟机专用win xp 系统 ios
- Linux Inode满导致的session无法生成