我对C#中的等待/异步模式感到非常困惑。
我有一个窗体应用程序,我想调用一个需要20秒钟完成大量处理的方法。因此,我想要使用await
来等待它完成。我以为正确的方法是将其标记为async Task
,但这样做会产生警告,因为我在其中没有使用await
。
通过谷歌搜索,我发现可以返回TaskCompletionSource<T>
,但我没有返回类型,因为它是void。
如何使用await
调用此方法?
我对C#中的等待/异步模式感到非常困惑。
我有一个窗体应用程序,我想调用一个需要20秒钟完成大量处理的方法。因此,我想要使用await
来等待它完成。我以为正确的方法是将其标记为async Task
,但这样做会产生警告,因为我在其中没有使用await
。
通过谷歌搜索,我发现可以返回TaskCompletionSource<T>
,但我没有返回类型,因为它是void。
如何使用await
调用此方法?
async
不会在后台线程上执行方法;我有一篇介绍async
/await
的文章,你可能会发现有帮助。 - Stephen Cleary