Я использую BlockingCollection для вставки некоторых значений, которые обрабатываются с использованием некоторых потоков.BlockingCollection с GetConsumingEnumerable
Иногда я должен взять «снимок» этой коллекции, чтобы проверить некоторые результаты .. так что я сделать что-то вроде этого:
IEnumerable<SourceResult> response = m_response.GetConsumingEnumerable();
IEnumerable<string> results = response.Where(i => i.source == "TEST1" || i.source == "TEST2").Select(i => i.json).DefaultIfEmpty(null);
if (results != null && results.Count() > 0)
{
// CODE
}
Когда код достигает этого IF заявление, замерзает приложения.
Почему? Кажется, что ответ заблокирован навсегда.
Любые идеи? Что я делаю не так?
спасибо!
Где именно вы используете тип BlockingCollection? –
Наружные резьбовые петли @MarcelloGrechiLins =) – Crasher