2016-08-08 5 views
0

나는 다른 스레드가 대기중인 모든 스레드를 즉시 해제 할 때까지 스레드가 대기하도록하는 특수 프로그래밍 구조를 사용합니다. 각 스레드는 자신을 등록하여 다른 스레드 (예 : 사용자 입력을 수신하는 스레드)가 트리거 할 수있는 외부 이벤트를 기다릴 수 있습니다. 해당 이벤트가 발생하면 모든 스레드가 계속 진행되고 즉시 등록이 취소됩니다.이 동기화 방법의 이름은 무엇입니까?

제 질문은 : 이것과 같은 구조가 무엇입니까?

처음에는 뮤텍스를 생각했지만 뮤텍스는 한 번에 하나의 스레드 만 실행할 수있는 구조임을 알고 있습니다 (이 링크 https://www.quora.com/Semaphore-vs-mutex-vs-monitor-What-are-the-differences 참조).

나에게이 구조는 java의 페이저처럼 들리지만 제 구조에는 계산 논리가 없으므로 정확한 문구가 무엇인지 궁금합니다.

+0

대기 핸들입니다. 언어를 지정해야합니다. –

+0

이것은 여기에 아무도 알 수없는 사용자 정의 프로그래밍 언어입니다. – Adrodoc55

답변

0

관련 Java 및 C# 클래스에는 단어 "장벽"이 있으므로 원하는 내용이 될 수 있습니다.

+0

[CyclicBarrier의 javadoc] (https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/CyclicBarrier.html)에 따르면 장벽은 최대 n 개의 스레드가 대기 할 수있는 구조입니다 . 대기중인 스레드 수가 구성된 숫자 n에 도달하면 장벽이 깨집니다. 내 경우에는 "장벽"이 명시 적으로 깨져 있어야하기 때문에 이것은 내가 가지고있는 것이 아닙니다. – Adrodoc55