我有一个事件被触发了多次。每次触发都会产生一个处理输入的线程,并且这些处理必须是顺序的。
这是代码:
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();
}
在这里,我尝试让另一个线程等待并在前一个线程的执行结束后恢复,但是这个解决方案恢复了所有等待的线程。
是否有管理等待线程队列的方法?