我有一個事件觸發多次。每次射擊都會產生一個處理輸入的線程,並且這些處理必須是順序的。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