pingh14

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2014年1月2日

摘要: Semaphore:动态增减信号量,用于控制对某资源访问的同一时间的并发量。类似于令牌,谁拿到令牌(acquire)就可以去执行了,如果没有令牌则需要等待。【如何获取】:semaphore.tryAcquire(),尝试获取,不阻塞。semaphore.acquire(),没信号量可用时,将进行阻塞等,可以被中断。acquireUninterruptibly():获取信号量,将进行阻塞,但会忽略线程的中断而且不会抛出任何异常。【如何释放】:semaphore.release();线程抛出各种异常,都别忘了在finally中释放信号量;如果释放的比获取的信号量还多,例如获取了2个,释放了5次,那 阅读全文
posted @ 2014-01-02 22:27 pingh14 阅读(634) 评论(0) 推荐(0) 编辑