整理java7中几种常见同步辅助类-信号量
来源:互联网 发布:loop在c语言 编辑:程序博客网 时间:2024/06/10 07:44
1.信号量(Semaphore)
1.1解释
信号量是一种计数器,用来保护一个或者多个共享资源的访问
1.2基本工作流程
若线程要访问一个共享资源,它需要先获取信号量,此时信号量会判断内部计数器是否大于0,若是,内部计数器减一。但若内部计数器等于0,信号量将线程置入休眠直至内部计数器大于0。
1.3常见方法
acquire():获取信号量,默认内部计数器减一
acquireUninterruptibly():也是获取信号量,但是不会响应线程终端请求
release():释放信号量,默认内部计数器加一
tryAacquire():若能获取信号量就返回true,反之返回false
注:四种方法都能提供一个接收int类型参数的重载方法,表示获取或释放资源的数量,即信号量内部计数器加或减的数量
1.4常用构造器
Semaphore(int permits):若传入参数为1,此时创建的是二进制信号量,它只能保护一个共享资源的访问,若传入参数大于1,则表示有多少个线程可以同时对临界区进行访问
Semaphore(int permits,boolean fair):第二参数设置信号量的公平性,若传入false,就是非公平模式。若传入true,则是公平模式
阅读全文
0 0
- 整理java7中几种常见同步辅助类-信号量
- 整理java7中几种常见同步辅助类-CountDownLatch
- 整理java7中几种常见同步辅助类-CyclicBarrier
- 整理java7中几种常见同步辅助类-Phaser
- 整理java7中几种常见同步辅助类-Exchanger
- Java7并发编程--3、线程同步辅助类
- [笔记][Java7并发编程实战手册]第三章-线程同步辅助类-3.1概要
- Java7并发编程指南——第三章:线程同步辅助类
- 《java并发编程实战》:线程同步辅助类之信号量(semaphore)
- CountDownLatch同步辅助类
- 线程同步辅助类
- 线程同步辅助类
- 多线程同步辅助类
- 同步辅助类CyclicBarrier
- 线程同步辅助类
- CountDownLatch -- 同步辅助类
- 常见的辅助类
- 《java7并发编程实战》线程辅助类之Phaser
- innerHTML和innerText区别
- C语言中字符串处理函数
- Hibernate——clear()方法清除缓存
- Java实现-主元素1
- 使用 IntraWeb (10)
- 整理java7中几种常见同步辅助类-信号量
- PAT乙级 1010. 一元多项式求导 (25)
- one-hot representation与distributed representation学习笔记
- Java实现-主元素2
- Electron给index.html添加桌面APP外壳
- 第五天java学习笔记md
- ehcache与spring,mybatis整合
- 关于new和delete
- Android Kotlin初体验