问问题
492 次
1 回答
3
一种选择是让OnNextItem
负责解锁:
// Setup as before
object monitor = new object();
queue.OnNextItem += i => { lock(monitor) { Monitor.Pulse(monitor); }};
lock (monitor)
{
queue.Add(1);
queue.Start();
Assert.IsTrue(Monitor.Wait(monitor, 1000));
}
这将等待最多一秒钟OnNextItem
才能被调用,如果等待超时则失败。
于 2011-03-24T15:23:00.837 回答