需要代码解释

3
new AutoResetEvent(false).WaitOne(Period);

这段代码的目的是什么?为什么不能使用 Thread.Sleep 代替它?

1个回答

5
是的,这段代码很愚蠢。由于在此行中AutoResetEventnew的,因此没有其他人引用相同的AutoResetEvent,因此没有任何东西会发出信号。使用Sleep会更简单。
当正确使用时,使用AutoResetEvent可以让你等待别的东西“打开闸门”(假设它没有被打开),或者超时。还要注意的是,每次WaitOne成功后,闸门都会自动关闭。
然而,这段代码并没有正确使用,并且不允许这样做。

我敢打赌在那行代码上面有一条注释 // because it works - Filip Ekberg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接