我正在使用 async-await
和任务,但是有一件事我不明白:
async 任务是否在单独的线程中执行?
根据 msdn 的说法 (异步编程):
async 和 await 关键字并不会创建额外的线程。异步方法不需要多线程,因为异步方法不在自己的线程上运行。
但是在 ThreadPool
类的描述中的备注中 (ThreadPool Class):
使用线程池线程执行操作的示例包括以下内容:
当您创建用于异步执行某些任务的 Task 或 Task 对象时,默认情况下任务将在线程池线程上计划运行。
所以,现在我不确定 async
任务是否使用单独的线程。请解释一下。谢谢。