论文部分内容阅读
信号量(Semaphore)对象允许有限数量的线程存取某个共享的系统资源,这些线程可能来自多个进程,信号量对象维持着一个当前存取该共享系统资源线程的计数。因此,信号量对象常常用于资源计数,为线程提供查询系统可用资源数目的能力。每当有一个或多个资源变成可用的,可用的资源计数就减一。信号量能自动地进行测试和设置操作(Test-and-Set)。当从一个信号县请求资源时,操作系统负责检查该资源是否可用;如果可用,就将其计数减一,并允许线程访问该资源。换言之,当计数为零时,任何试图从该信号量请求资源的线程都被迫等