Async Program 基本知识 (Process、Thread、Context Switch)

处理序 (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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值