Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 自动等待_C#_Multithreading_Asynchronous - Fatal编程技术网

C# 自动等待

C# 自动等待,c#,multithreading,asynchronous,C#,Multithreading,Asynchronous,我想等待来自另一个线程的事件信号,而不阻塞正在等待的线程。理想情况下使用wait 我想到了这个解决方案: await Task.Run(() => myAutoResetEvent.WaitOne()); 我想知道它在概念上是否有问题,是否有更好的替代方案 谢谢 这样做有什么不对 您使用线程池线程只是为了等待“信号” 什么是更好的选择 您可以使用异步兼容的AutoResetEvent,例如中的或上的 此外,大多数情况下,自动重置事件使用错误。手动重置事件更为常见。我建议重

我想等待来自另一个线程的事件信号,而不阻塞正在等待的线程。理想情况下使用wait

我想到了这个解决方案:

        await Task.Run(() => myAutoResetEvent.WaitOne());
我想知道它在概念上是否有问题,是否有更好的替代方案

谢谢

这样做有什么不对

您使用线程池线程只是为了等待“信号”

什么是更好的选择

您可以使用异步兼容的
AutoResetEvent
,例如中的或上的


此外,大多数情况下,自动重置事件使用错误。手动重置事件更为常见。我建议重新评估此同步原语的选择。

是否有错误?哪个错误是?不,没有错误。只是想知道我是否遗漏了一些概念上的错误。我澄清了一点这个问题。