클래스: Mongo::DistinguishingSemapher Private
- 상속:
-
객체
- 객체
- Mongo::DistinguishingSemapher
- 다음에 정의됨:
- build/ruby-driver-v2.19/lib/mongo/distinguishing_semapher.rb
개요
이 클래스는 비공개 API의 일부입니다. 이 클래스는 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
이는 시간 초과에 도달하여 종료되는 대기와 신호가 전달되는 세마포로 인해 종료되는 대기를 구분하는 세마포입니다.
인스턴스 메서드 요약 접기
- #브로드캐스트 ⇒ 객체 비공개
-
#initialize ⇒ DistinguishingSemapher
생성자
비공개
DistinguishingSemapher의 새 인스턴스입니다.
- #signal ⇒ Object 비공개
-
#wait(timeout = nil) ⇒ true | false
비공개
시간 초과 초까지 세마포어가 신호를 받을 때까지 기다립니다.
생성자 세부 정보
#initialize ⇒ DistinguishingSemapher
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
DistinguishingSemapher의 새 인스턴스 를 반환합니다.
24 25 26 27 28 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/distinguishing_semapher.rb', 줄 24 def 초기화 @ 락 = 뮤텍스.신규 @cv = ::조건 변수.신규 @queue = [] end |
인스턴스 메서드 세부 정보
#브로드캐스트 ⇒ 객체
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
44 45 46 47 48 49 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/distinguishing_semapher.rb', 줄 44 def 브로드캐스트 @ 락.동기화 do @queue.push(true) @cv.브로드캐스트 end end |
#signal ⇒ Object
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
51 52 53 54 55 56 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/distinguishing_semapher.rb', 줄 51 def 신호 @ 락.동기화 do @queue.push(true) @cv.신호 end end |
#wait(timeout = nil) ⇒ true | false
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
시간 초과 초까지 세마포어가 신호를 받을 때까지 기다립니다. 세마포가 신호를 받지 않으면 제한 시간(초) 후에 반환됩니다.
35 36 37 38 39 40 41 42 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/distinguishing_semapher.rb', 줄 35 def wait(타임아웃 = nil) @ 락.동기화 do @cv.wait(@ 락, 타임아웃) (!@queue.비어 있나요?).탭 do @queue.지우기 end end end |