线程,协程的区别?

2020-03-27 11:52:53 +08:00
 zzstar
  1. 有大佬能给讲解下线程和协程的区别吗?
  2. 线程和协程是如何保存上下文的?
  3. 为什么协程要比线程轻量级,支持的并发更高?
    小弟,十分感谢
901 次点击
所在节点    问与答
1 条回复
delectate
2020-03-27 15:29:56 +08:00
线程类似于开车打电话,重度一心二用,搞不好就出事故;
协程类似于开车听收音乐,轻度可控的一心二用,很愉快和开心。
所以,协程比线程轻、快,代价低效果好。

线程需要锁,否则就成了混沌;协程没必要,因为不存在同时读写的情况,所以不需要锁。
因为协程都是在主线程里,切换的很小代价,所以更高“并发”(实际上还是独立运行的,只是看起来像是并发了)。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/656727

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX