1.1 Semaphore的使用

本章将对Semaphore类中的全部方法进行案例式的实验,这样可以全面地了解此类提供了哪些核心功能。

单词Semaphore[' seməf :(r)]的中文含义是信号、信号系统。此类的主要作用就是限制线程并发的数量,如果不限制线程并发的数量,则CPU的资源很快就被耗尽,每个线程执行的任务是相当缓慢,因为CPU要把时间片分配给不同的线程对象,而且上下文切换也要耗时,最终造成系统运行效率大幅降低,所以限制并发线程的数量还是非常有必要的。

在生活中也存在这种场景,比如一个生产键盘的生产商,发布了10个代理销售许可,所以最多只有10个代理商来获得其中的一个许可,这样就限制了代理商的数量,同理也限制了线程并发数的数量,这就是Semaphore类要达到的目的。

Semaphore类发放许可的计算方式是“减法”操作。