类:Mongo::Semaphore Private
- 继承:
-
对象
- 对象
- Mongo::Semaphore
- 定义于:
- lib/ Mongo/semaphore.rb
Overview
此类是私有 API 的一部分。 应尽可能避免使用此类,因为它将来可能会被删除或更改。
这是一个信号量实现,本质上封装了示例代码,网址为:https://ruby-doc.org/stdlib-2.0.0/libdoc/thread/rdoc/ConditionVariable.html。
实例方法摘要折叠
- #广播⇒ 对象 private
-
#初始化⇒ 信号量
构造函数
private
信号量的新实例。
- #signal ⇒ Object private
-
# wait (timeout = nil) ⇒ 对象
private
在 timeout 秒内等待信号量收到信号。
构造函数详情
#初始化⇒信号量
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
返回信号量的新实例。
23 24 25 26 |
# File 'lib/ Mongo/semaphore.rb', line 23 def 初始化 锁 = 互斥锁.new @cv = ::ConditionVariable.new end |
实例方法详细信息
#广播⇒对象
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
36 37 38 39 40 |
# File 'lib/ Mongo/semaphore.rb', line 36 def 广播 锁.同步 do @cv.广播 end end |
#signal ⇒ Object
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
42 43 44 45 46 |
# File 'lib/ Mongo/semaphore.rb', line 42 def 信号 锁.同步 do @cv.信号 end end |
# wait (timeout = nil) ⇒对象
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
在 timeout 秒内等待信号量收到信号。 如果信号量未收到信号,则在超时秒数后返回。
30 31 32 33 34 |
# File 'lib/ Mongo/semaphore.rb', line 30 def wait(超时 = nil) 锁.同步 do @cv.wait(锁, 超时) end end |