Google에서이 검색어로 두통을 느끼고 있습니다.삽입 우선 순위가있는 비 우선 순위 대기열
다음을 달성하려면 스레드 안전 메커니즘이 필요합니다. 삽입 우선 순위가 읽기보다 스레드 안전 목록입니다.
항상 큐에 메시지를 삽입 할 수 있어야하고 때로는 읽을 수 있어야합니다. 독서가 삽입을 방해 할 수는 없습니다.
감사합니다.
편집 : 읽기는 또한 빨간색 부분을 지우는 것을 의미합니다.
EDIT2 : 도움이 될지도 모르지만 단일 독자와 한 명의 작가가 유용 할 것입니다.
EDIT3 시나리오 시나리오 : 1 초 동안 10 초당 삽입 (또는 소프트웨어가 설치된 하드웨어를 사용하여 최대 가능). 그런 다음 1 분 동안 삽입을 일시 중지합니다. 그런 다음 30 초 동안 2 초 이내에 20 개의 인서트 (또는 소프트웨어가 설치된 하드웨어를 사용하여 최대 가능)를 수행하십시오. 그런 다음 30 초간 정지합니다. 그런 다음 최대 읽기 횟수 동안 일시 중지가 사용됩니다. 내가 충분히 명확한 지 모르겠다. 당연히 아니. (추신 : 일시 중지가 언제 생길지, 그게 문제인지). 최대 acc. insert for delay : Enqueue 나 Add 메소드가 끝나는 시간.
추가 : TryGetValue 및 TryRemove가있는 AddOrUpdate가있는 ConcurrentDictionary를 사용할 수 있습니까?
제한이 없으면이 큐는 바인딩없이 확장되어 모든 메모리를 소모 할 수 있습니다.이 때 삽입 *은 실패하거나 대기해야합니다. 큐에있는 메시지의 수에 대한 실제 상한이 있습니까? –
@sll 무엇을 편집하셨습니까? (나는 알았다, 태그) –
@Damien_The_Unbeliever하지만, 여기서 중요한 부분은 삽입 우선 순위 다. 물리적으로 큐에 '너무 많은'메시지를 보낼 수 없습니다. –