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

详细介绍 进程、线程和协程的区别

发布时间:2021-01-01 16:26:33 所属栏目:创业 来源:网络整理
导读:详解历程、线程和协程的区别 起首,给出“历程、线程和协程”的特点: 历程 :拥有本身独立的堆和栈,既不共享堆,也不共享栈,历程由操纵体系调治; 线程 :拥有本身独立的栈和共享的堆,共享堆,不共享栈,尺度线程由操纵体系调治; 协程 :拥有本身独立的

详解 历程、线程和协程的区别

起首,给出“历程、线程和协程”的特点:

  • 历程:拥有本身独立的堆和栈,既不共享堆,也不共享栈,历程由操纵体系调治;
  • 线程:拥有本身独立的栈和共享的堆,共享堆,不共享栈,尺度线程由操纵体系调治;
  • 协程:拥有本身独立的栈和共享的堆,共享堆,不共享栈,协程由措施员在协程的代码里表现调治。

接下来,以一个形象的例子,进一步报告“历程、线程和协程”三者之间的区别:

假设有一个单核的操纵体系,体系上没有其余的措施必要运行,现有两个线程 A 和 B,A 和 B 在单独运行时都必要 10 秒来完本钱身的使命,并且使命都是运算操纵,线程 A 和 B 之间没有竞争和共享数据的题目。此刻让 A 和 B 两个线程并行,则操纵体系会不断的在 A 和 B 两个线程之间切换,到达一种伪并行的结果。

假如操纵体系切换的频率是每秒一次,切换的本钱是 0.1 秒(首要是栈切换),则总共必要 20 + 19 * 0.1 = 21.9 秒;假如行使协程的方法,可以先运行协程 A,A 竣事的时辰让位给协程 B,只产生一次切换,则总共必要 20 + 1 * 0.1 = 20.1 秒。假如操纵体系是双核的,并且线程是尺度线程,那么线程 A 和 B 可以到达真的并行,则总时刻为 10 秒;而协程的方法如故必要 20.1 秒的时刻。

感激阅读,但愿能 辅佐到各人,感谢各人对本站的支持!

(编辑:湖南网)

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

    热点阅读