Parametr TryDequeue w ConcurrentQueue zwróci wartość false, jeśli w kolejce nie ma żadnych elementów.Spróbuj wycofać w ConcurrentQueue
Jeśli kolejka jest pusta, potrzebuję, aby moja kolejka czekała, aż nowy element zostanie dodany do kolejki, i usunie ten nowy, a proces będzie kontynuowany.
należy używać monitor.enter, czekaj, puls lub jakieś lepsze opcje w C# 4.0
hmmm - zaskakuje mnie to, że nie jest to dostatecznie odsłonięte - wydaje się, że jest to zwykły przypadek użycia ... –
Myślę, że z 4.0 klasa BCL powinna to ujawnić, ale jeśli nic więcej się nie pojawi, może spojrzeć [na to odpowiedź] (http://stackoverflow.com/questions/530211/creating-a-blocking-queuet-in-net/530228#530228), w którym TryDequeue będzie blokować dopóki * albo * nie ma elementu (zwracającego 'true') * lub * kolejka jest pusta i jawnie zamknięta (zwracająca "fałsz") –
Jeśli kolejka jest pusta, potrzebuję, aby mój wątek czekał, aż nowy element zostanie dodany do kolejki, i usunie ten nowy, a proces tak dalej. –