我有一个事件触发多次。每次射击都会产生一个处理输入的线程,并且这些处理必须是顺序的。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