加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

行使异步的须要性与高效性

发布时间:2021-05-26 10:04:40 所属栏目:编程 来源:互联网
导读:操纵体系可以看作是个假造机(VM),历程糊口在操纵体系缔造的假造天下里。历程不消知道到底有几多 core 几多内存,只要历程不要索取的过分度,操纵体系就冒充有

操纵体系可以看作是个假造机(VM),历程糊口在操纵体系缔造的假造天下里。历程不消知道到底有几多 core 几多内存,只要历程不要索取的过分度,操纵体系就冒充有无穷多的资源可用。

基于这个头脑,线程(Thread)的个数并不受硬件限定:你的措施可以只有一个线程、也可以有成百上千个。操纵体系会冷静做好调治,让诸多线程共享有限的 CPU 时刻片。这个调治的进程对线程是完全透明的。

那么,操纵体系是奈何做到在线程无感知的环境下调治呢?谜底是上下文切换(Context Switch),简朴来说,操纵体系操作软间断机制,把措施从恣意位置打断,然后生涯当前全部寄存器——包罗最重要的指令寄存器 PC 和栈顶指针 SP,尚有一些线程节制信息(TCB),整个进程会发生数个微秒的 overhead。

然而作为一位及格的措施员,你必然也传闻过,线程是昂贵的:

 线程的上下文切换有不少的价钱,占用名贵的 CPU 时刻;

 每个线程城市占用一些(至少 1 页)内存。

这两个缘故起因差遣我们尽也许停止建设太多的线程,而异步编程的目标就是消除 IO wait 阻塞——绝大大都时辰,这是我们建设一堆线程、乃至引入线程池的祸首罪魁。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读