クラス: Mongo::Smajor Private

継承:
オブジェクト
  • オブジェクト
すべて表示
定義:
lib/mongo/smasphere.rb

Overview

このクラスは、プライベート API の一部です。 このクラスは将来削除または変更される可能性があるため、可能な限り使用しないでください。

これは、サンプルコード(https://ruby-doc.org/stdlib-2.0.0/libdoc/thread/rdoc/ConditionVariable.html)を基本的にカプセル化するセマフォアの実装です。

インスタンス メソッドの概要を折りたたむ

コンストラクターの詳細

#初期化=セマフォア

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

セマフォア の新しいインスタンスを返します。



23
24
25
26
# ファイル 'lib/mongo/sawre.rb' 行 23

デフォルト 初期化
  @lock = ミューテックス.新着情報
  @cv = ::条件変数.新着情報
end

インスタンス メソッドの詳細

#ブロードキャスト=オブジェクト

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。



36
37
38
39
40
# ファイル 'lib/mongo/sawre.rb' 行 36

デフォルト ブロードキャスト
  @lock.同期 行う
    @cv.ブロードキャスト
  end
end

#signalObject

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。



42
43
44
45
46
# ファイル 'lib/mongo/sawre.rb' 行 42

デフォルト シグナル
  @lock.同期 行う
    @cv.シグナル
  end
end

#wait (timeout = nil) = nil) =オブジェクト

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

セマフォアがシグナルをタイムアウトするまで待機します。 セカンダリがシグナル提供されない場合、 はタイムアウト秒後に返します。



30
31
32
33
34
# ファイル 'lib/mongo/sawre.rb' 行 30

デフォルト 待機する(タイムアウト = nil)
  @lock.同期 行う
    @cv.待機する(@lock, タイムアウト)
  end
end