【发布时间】:2018-11-02 13:25:57
【问题描述】:
我需要知道这些记录有什么不同,如果有,它们是什么? 这对我来说相当困难:
1) Task.Run(async () => { await CheckVerification(); });
2) Task.Run(() => CheckVerification());
3) await Task.Run(async () => { await CheckVerification(); });
【问题讨论】:
-
仅供参考:这些选项都不正确。最常见的是
await CheckVerification();,在某些特殊情况下使用await Task.Run(() => CheckVerification()); -
@CamiloTerevinto。你好。如果我不想等待结果。我只需要创建任务并为用户返回 OK。这个任务会像背景一样工作吗?
-
那么你只需要
CheckVerification(),唯一正确的即发即弃选项 -
你觉得他们每个人都做什么?你知道这些表达式中执行的每个底层操作都在做什么吗?如果没有,你不明白哪些?您是否研究过这些操作中的每一个以及它们的作用?在那项研究中,您有什么不理解或感到困惑或矛盾的地方?
-
所有这些方法都会创建 1 个额外的、不必要的任务。仅将
Task.Run用于 CPU 绑定工作。
标签: c# multithreading task