比方說,我有一個列表,並將數據從一個namedpipe流式傳輸到該列表。命名管道列表,而能夠閱讀或使用該列表?
假設的例子:
private void myStreamingThread()
{
while(mypipe.isconnected)
{
if (mypipe.hasdata)
myList.add(mypipe.data);
}
}
然後在另一個線程我需要閱讀該列表例如每1000毫秒:
private void myListReadingThread()
{
while(isStarted)
{
if (myList.count > 0)
{
//do whatever I need to.
}
Thread.Sleep(1000);
}
}
在這裏,我的首要任務是能夠讀取列表中每1000毫秒並根據列表的需要做任何事情,但同時能夠從管道獲取來自管道的新數據非常重要。
什麼是一個很好的方法來與此?
忘了提我綁在.NET 3.5
@理查德,確實很棒,但它說.Net 4 – Prix 2011-05-04 23:09:28
謝謝@Prix,我會編輯。 – 2011-05-04 23:11:23
使用互斥體不會在某些時候失敗,因爲管道可以隨時發送新數據,如果它一次發送,我正在讀取列表,它將在管道寫入時失敗,反之亦然否?並感謝您的回覆;) – Prix 2011-05-04 23:11:32