저는 실제 생활에서 흥미로운 문제에 직면하고 있습니다. 여기에 문제를 단순화했습니다 :스레드 안전 다중 생성자 질문
두 가지 방법 A()와 B 방법()을 디자인하십시오. 각 방법은 원소 원자 (A 또는 B)를 생성하는 것으로 생각할 수 있습니다. 화합물 A [N] B [M]은 N 개의 A 원자와 B 원자의 M을 필요로한다.
N 개의 A 원자와 M 개의 B 원자가 있기 전에 A()와 B()에 대한 각각의 호출이 차단됩니다. N 개의 A 원자와 M 개의 B 원자에 도달하면 첫 번째 N A() 호출과 첫 번째 M B() 호출이 반환됩니다. 예를 들어, N + 2 A() 호출을 수행하고 M B() 호출을 수행하면 첫 번째 N A() 호출과 모든 M B() 호출이 반환됩니다. 2 개의 A() 통화가 차단 된 상태로 유지됩니까?
어떻게이 문제를 해결할 수 있습니까? 자바를 사용하고 있습니다.
이 들린다. 'countDown()'과'await()'메소드를 제공한다. – Gray
필요없는 것의 반대입니까? 카운터가 0에 도달 할 때까지 CountDownLatch가 차단됩니다. – Pragmateek