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