当前位置: 首页 > Thinking in Java > 正文

第21章 – 并发 – 新类库中构件 – Semaphore

第21章 – 并发 – 新类库中构件 – Semaphore

 

1. Semaphore 简介

 

   Semaphore 在构造函数中传入一个int参数,表示计数的信号量,在线程中调用Semaphore.acquire()方法时,

   检查信号量的值,如果信号量大于0则线程继续执行,然后将信号量减1,如果调用Semaphore.acquire()时,

   信号量已经是0了则调用线程会被阻塞.

 

   调用Semaphore.release()方法可以归还一个信号量,信号量归还之后,其他因为Semaphore.acquire()方法

   阻塞的线程就可以继续执行了.

 

   Semaphore常用于对象池的实现.

 

2. 示例代码(P733)

 

  (1) 使用泛型实现的一个资源池

 (2) 创建一个池中资源对象示例,该对象创建的代价比较大,所以使用资源池来提升性能.

 

打个赏呗

   微信打赏  支付宝打赏


本文固定链接: https://www.jack-yin.com/coding/thinking-in-java/2126.html | 边城网事

该日志由 边城网事 于2015年03月18日发表在 Thinking in Java 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: 第21章 – 并发 – 新类库中构件 – Semaphore | 边城网事
关键字: ,

第21章 – 并发 – 新类库中构件 – Semaphore 暂无评论

发表评论

快捷键:Ctrl+Enter