AutoResetEvent表现异常时如何检测?
//变量声明:
AutoResetEvent breakplayctrlevent=new AutoResetEvent(false);
//在另一个线程的循环中检测:
while(true){
if(breakplayctrlevent.WaitOne(0,false)){
break;
}
//...
}
//主线程控制:
breakplayctrlevent.Set();
看上去并无甚复杂,但并非总能正常运行,偶尔会出现失控的时候。请问有什么方法能只检测breakplayctrlevent的状态但不改变它么?
可能会有人说,为什么不就直接用一个普通bool变量进行控制与检测呢?也可以吧,这里只是想利用一下AutoResetEvent的自动恢复功能吧。