У меня событие несколько раз. Каждая стрельба порождает поток, который обрабатывает вход, и эта обработка должна быть последовательной.C#: Управление очередью ожидания потока
Это код:
void TcpClient_DataRead(object sender, DataReadEventArgs e)
{
//the first stops the other ones
this.parsingXML.WaitOne();
//processing the string
string pop = Encoding.ASCII.GetString(e.Data);
BufferizeXML(pop);
//restoring execution
this.parsingXML.Set();
}
Здесь я попытался сделать другую нить ждать и восстановления после выполнения предыдущей закончилась, но это решение восстановить все нити ожидания.
Есть ли способ управления очередью ожидания потока?
Звучит как прекрасная работа для TPL DataFlow: http://msdn.microsoft.com/en-us/library/hh228603.aspx – spender