类:Mongo::Semaphore Private

继承:
对象
  • 对象
显示全部
定义于:
lib/ Mongo/semaphore.rb

Overview

此类是私有 API 的一部分。 应尽可能避免使用此类,因为它将来可能会被删除或更改。

这是一个信号量实现,本质上封装了示例代码,网址为:https://ruby-doc.org/stdlib-2.0.0/libdoc/thread/rdoc/ConditionVariable.html

实例方法摘要折叠

构造函数详情

#初始化信号量

此方法是私有 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

#signalObject

此方法是私有 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