处理序 (Process): 作为隔离应用程式的基本单位
例如:开启了一个程式,载入记忆体后,运行的instantce 就叫 Proces。 每一个 Process 占用 memory section。 (包含程式以及相关资源) 隔绝了作业系统,但是共用了 CPU。
执行绪 (Thread): 是作业系统用来虚拟化 CPU的概念,切割 CPU时间的基本单位
一个 Process 有多个 Thread
然而现今的电脑可以同时执行的程式己经不会只有一个,而是 N 个。
即便CPU 是双核、四核、八核 等等(可同时处理 二个、四个、八个 Thread的工作)
但为了要做到很顺畅的运作,用户以为真的是同时间处理,
CPU 其实是会快速的来回在不同的 Thread,这行为称为 Context Switch。
Context Switch: 在各 Thread 之间切换,当下 Thread 拥有CPU处理的时间称为「quantum」
其行为如下: (1) 把CPU 各暂存器的值,保存至目前Thread intern data structure。 (2) 切至另外一个 Thread, 若处在不同的Process,还得再切换位址 (不同的memory section) (3) 切换后再把 intern data structure 放回暂存器。
资料来源:
http://huan-lin.blogspot.com/2015/01/new-book-net-async-programming.html
注:本文内容来自互联网,旨在为开发者提供分享、交流的平台。如有涉及文章版权等事宜,请你联系站长进行处理。