当前位置: 首页 > 网络应用技术

信号源代码分析

时间:2023-03-08 12:36:04 网络应用技术

  信号量,信号量,它保留了一系列许可(许可)。访问()的每个呼叫都将享受许可证。每个呼叫()将返回许可证。

  信号量可用于控制同时访问共享资源的访问次数,这通常是这样说的。

  首先,简单地了解通过一个小例子使用信号量的使用

  这里创建了三个线程,但是信号量仅设置了两个许可证。因此,只有两个将同时获得执行权限,其余一个将等待执行许可执行许可。

  分类

  信号量包含同步器同步,其两个子类Fairsync和nonfairsync,这表明信号量也是公平模式和非fair模式。

  信号量构造方法

  从源代码可以看出默认值为非fair模型。如果要实现公平模式,则将在构造函数中传递。

  静态内部类同步源代码

  可以通过同步类的源代码知道

  获取方法获得许可证

  这是公平模式的示例。获取方法用于获得许可。如果您没有获得许可证,则将添加阻塞队列等待。实际上,详细介绍了源代码中的大多数方法,因此在这里,因此此处的解释不会太详细。

  发布方法发布许可证

  发布方法是做两件事,它们将释放许可证,然后唤醒等待线程(只有一个唤醒)

  总结