该文章为个人的猜想!!!
线程(thread)
线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的。
多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。
任务(task)
Task.Run(doWork) 执行看起来和thread执行的效果一致,但实际上二者是有区别的;Task
是基于 Thread
的,是比较高层级的封装,Task
最终还是需要 Thread
来执行。
我的理解为Task为一个操作(也就是一个委托)然后在使用Thread实例用来执行这个Task,当然Task里面做了许多复杂的封装需要反编译System.Runtime.dll。
该文章为个人猜想,如果有问题评论留言,或者私信