Dar*_*dra 3 .net c# async-await
是否应该将async/await用于线程以利用多核?我理解async/await不完全,但看起来它不会创建新线程并且不使用线程池.因此它在当前线程上运行代码,这意味着没有多核支持.
async-await不是关于跨多个核心的负载平衡工作.它是关于利用本质上异步的操作并释放资源来处理更多的工作.良好的异步API不使用额外的线程来执行工作.通常,没有Thread,这意味着代码将继续在同一个线程上执行,直到命中第一个await并将yield控制权返回给调用者.
你可以看一下异步API,如的例子HttpClient,StreamWriter,SmtpClient等他们上线(网络驱动程序调用,磁盘驱动器的调用等)的所有过程的工作.
如果您正在寻找的是并行处理,请查看Parallel课程.
您还可以从.NET Framework中的并行编程开始