类:Mongo::Semaphore Private

继承:
对象
  • 对象
显示全部
定义于:
build/ruby-driver-v 2.19 /lib/mongo/semaphore.rb

Overview

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

这是一个信号量实现,本质上封装了ruby 2.0.0中的示例代码。

实例方法摘要折叠

构造函数详情

#初始化信号量

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

#signalObject

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