과일 개체 모음이 있다고 가정합니다.첫 번째 발생을 찾기위한 적절한 동시 수집
다중 스레드를 추가 /이 컬렉션에서 제거하고 과일의 종류가 여러 번 나타날 수 있습니다 :
이제"apple", "pear", "orange", "pear", "apple"
시스템이 동시에 다른 과일 종류를 처리 할 수 있지만, 2 개 스레드 경우 중단됩니다 시도하고 동일한 유형의 2 개체 (2 사과 예를 들어 처리).
그래서 스레드가 현재 과일 (즉, 사과)을 처리하려고하면 해당 사과가 대기열의 첫 번째 사과인지 확인해야합니다. 다른 사과 뒤에 대기 중이라면 기다려야합니다.
ConcurrentQueue를 사용할 계획 이었지만 사과가 대기열에 처음 나타난 경우 어떻게 알 수 있습니까?
이 기능을 지원하는 적절한 컬렉션이 있습니까?
코드 구현을 표시하여 수행중인 작업과 수행하지 않는 작업을 더 잘 이해할 수 있습니까? – MethodMan
말 그대로 문자열 대기열입니까? 아니면 여기의 문자열이 대기열에있는 다양한 유형의 객체를 나타 냅니까? –
또한, 과일을 "가공하는"것은 무엇을 의미합니까? 스레드가 수행중인 작업은 무엇입니까? 해결하려는 문제에 대한 단일 스레드 설명으로 시작한 다음 * 스레드 *간에 작업을 분산시키는 방법을 설명 할 수 있습니다. 결과적으로 컬렉션 유형에서 원하는 특성을 설명 할 수 있습니다. –