19-监测Semaphore类
10.6 监测Semaphore类
信号量是一种计数器,能对一个或多个共享资源的访问进行保护。
Edsgar Dijkstra
在1965年提出了信号量的概念,信号量第一次使用是在THEOS操作系统中。
当线程要使用共享资源时,它必须获取一个信号量。如果信号量内部的计数器值大于0,则信号量会递减该值并允许线程访问共享资源。如果信号量的计数器值等于0,则信号量就会阻塞线程直到该值大于0。当线程结束使用共享资源时,必须释放信号量。具体的操作就是递增信号量内部的计数器值。
Java中的信号量实现类是 Semaphore
类。
本节将介绍信号量的状态信息,以及如何获取它。