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