首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >绿色线程的真实类比

绿色线程的真实类比
EN

Software Engineering用户
提问于 2019-03-03 06:21:01
回答 2查看 330关注 0票数 -3

我正在做一个关于并发性的演讲,它将涉及多线程、多处理和绿色线程。我想给出一个简单的现实世界的类比单线程程序,多线程,多线程和绿色线程。这就是我想出的类比:

  1. 单内核线程-银行中的单行客户排队并由单个银行出纳员提供服务。
  2. 内核多线程-由两个银行出纳员提供服务的单行客户。
  3. 多重处理-由两名银行出纳员提供服务的两条客户线。(或者,另一种情况是,两家银行各有一条单一的客户线,由一名出纳员提供服务。)
  4. 绿线-接待员接听大量电话,让人们在处理其他电话时搁置。

我真的不喜欢绿色线程的类比,因为(1)被搁置的人是“阻塞”而不是做有用的工作;(2)这与其他银行出纳员的类比是不一致的。

有人有任何简单的类比可以帮助解释绿色的线索吗?

EN

回答 2

Software Engineering用户

发布于 2019-03-03 08:19:46

将绿色线程与其他三个线程放在同一个列表中是没有意义的,因为它们生活在不同的抽象级别上。多线程和多处理是处理并发实体之间数据共享的两种不同模型(共享内存与具有显式通信的单独内存)。

另一方面,绿色线程是实现多线程的一种方式。实际上,这是很多可能的方法之一。

如果多线程是在CPU内部实现的,我们称之为芯片多线程(CMT),如果它是粗粒度的(例如在T系列系列SPARC CPU上),而同时多线程(SMT)如果它是细粒度的(例如在Intel和Pentium4上,在英特尔的市场名为"HyperThreading技术“)。如果它是在操作系统内部实现的,我们称之为内核线程。如果它是在更高层次上实现的,我们称之为绿色线程。但这都是同一个想法的不同实现。

票数 3
EN

Software Engineering用户

发布于 2019-03-03 08:09:03

绿色线程是银行出纳员提交交易,然后告诉客户回到线的末尾,因为另一层的人需要批准一个特定的部分,然后他们才能继续。

这可能会更好的工作,如果它涉及的文书工作,既可以由“出纳员”(用户线程和进程)或“客户”(绿色线程)。除非你承担一个非常繁忙的贷款部门,否则银行业务就不能很好地运作。

票数 0
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/387944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档