目录
一、异步、线程
异步方法的代码并不会在新线程中执行,除非把异步代码块放入新线程中执行。
运行结果:
由此可见,线程没有发生切换。
二、Task.Run()
1.把要执行的代码以委托的形式传递给 Task.Run(),它有很多重载方法,把要执行的代码放在委托里面就好了,
这样就能从线程池中取出一个线程执行我们的委托:
await Task.Run(()=>{
要执行的代码 //耗时代码操作可以用 return 返回值
})
因为 Run() 方法的返回值是 Task ,所以用 await 做返回值接受,一般有 Task 都用 await 。
因为写了有返回值,且返回值的