- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
基本上,我正在做的是创建一个网络服务器来处理 API 调用,然后在它完成后继续执行方法,所以基本上:
new WebServer(myAutoResetEvent);
myAutoResetEvent.WaitOne();
但是,这会阻塞线程直到那时。有没有办法使这个异步?将它包装在 await Task.Run()
调用中是否可以,即 await Task.Run(() => myAutoResetEvent.WaitOne())
?
谢谢!
最佳答案
通常,WebServer
ctor 不应该做任何有趣的事情。应该有一个 Task WebServer.RunAsync
运行服务器的功能。然后,您可以使用生成的任务来同步和协调。
如果你不想,你可以使用 TaskCompletionSource<object>
作为一次性异步就绪事件。
我相信ThreadPool
类有一种有效等待 WaitHandle
的方法被设置,但这是一个更糟糕的解决方案。
关于c# - 如何制作非阻塞等待句柄?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34548740/
我设置了 Helm 柄和 Helm 柄。我有tiller-deploy。昨天,我可以定期运行了。但今天我收到此错误消息 Error: could not find a ready tiller pod
我以前已将分er安装到特定的 namespace 中。 我设置了一个环境变量来设置'tiller'命名空间-但我不记得该环境变量的名称-而且似乎无法通过网络搜索找到它。 这是什么 key ? 最佳答案
当我在 View 模型中使用如下界面时 class MainViewModel @ViewModelInject constructor( private val trafficImagesR
我正在尝试找到如何在某个 fragment 相关场景中定义 Hilt 的解决方案。我有以下设置: Activity 父 fragment 1 子 fragment 1 子 fragment 2 ...
Hilt 指出如果没有@Provides 注解就不能提供这个接口(interface): interface PlannedListRepository { fun getAllLists()
我的问题非常简单明了:两个注释/示例之间有什么区别: 例子一 @Singleton class MySingletonClass() {} @Module @InstallIn(FragmentCom
我是一名优秀的程序员,十分优秀!