以下内容来自B站老杨
并发:concurrency
而Thread带来的问题或者说是限制都可以由新的Task类进行解决。
Task.Run相当于是Task.Factory.StartNew的简化版本。
例子:
输出:
可以看到什么都没输出来。
这是因为:Task使用的是线程池,使用的是后台线程,主线程结束后,后台线程也结束了,所以还没等Task中的委托打印就已经结束程序了。
如果要打印出来的话就要在主线程增加阻塞。
“热”任务也就是创建了就开始执行。
针对长时间运行的任务可以采用这种方式,短时间运行的CPU-Bound任务一般是前面指的运行时长250us(微秒),理想状况100us以内的任务。
CPU-Bound这部分需要额外看书了解。