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

 2023-09-05 阅读 43 评论 0

摘要:处理序 (Process): 作为隔离应用程式的基本单位 例如:开启了一个程式,载入记忆体后,运行的instantce 就叫 Proces。 每一个 Process 占用 memory section。 (包含程式以及相关资源) 隔绝了作业系统,但是共用了 CPU。 执行绪 (Thread): 是作业系统

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

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/1233.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息