[英]How do I ThreadStart a method that is labelled async?
我想在一个单独的线程上运行一个处理循环:
_processingThread = new Thread(new ThreadStart(DoWork)));
但是 DoWork 需要异步:
private async Task QueueProcessorDoWork()
{
while (true)
{
await something();
}
}
我怎样才能将两者连接在一起? 当我添加async Task
,它与 ThreadStart 的参数不匹配。
我认为可以使用设置线程async Task
的方法,但我不确定这是否有帮助。
这里最好的解决方案是什么? 我需要我的线程开始运行然后返回。
这将使指定的工作排队以在 ThreadPool 上运行。
_ = Task.Run(() => QueueProcessorDoWork());
QueueProcessorDoWork 现在必须完全自给自足并照顾好自己。 任何抛出的异常都不会被捕获。 调用线程无法知道它是否成功。
_ =
只是停止编译器警告不等待调用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.