V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
lwlizhe
V2EX  ›  问与答

不懂就问系列:协程和线程的本质区别是?

  •  
  •   lwlizhe · 2021-01-28 16:50:28 +08:00 · 459 次点击
    这是一个创建于 1197 天前的主题,其中的信息可能已经有所发展或是发生改变。
    搜了好多篇文章,都只是说协程是简易版的线程

    但是我在 flutter 中用这玩意(应该 isolate 就是协程这个东西吧)发现,卧槽,这玩意好像是只能用一个 CPU 核,一个 CPU 密集型任务直接 jank 了,也就是说无法利用多核资源?

    然鹅记得线程是 CPU 最小的任务单位(好像),能够参与 CPU 调度,使用多核资源。

    所以协程和线程应该有本质区别的吧,那么问题来了,协程这玩意倒底是个啥玩意……有没有大佬一针见血的点明下?
    yuelang85
        1
    yuelang85  
       2021-01-28 16:58:15 +08:00   ❤️ 1
    协程是在线程中的“多线程”。

    你可以理解成协程的生成和管理是程序员自己写的,不是计算机硬件,也不是操作系统的机制。

    由于是在线程中的,所以协程不能跨核。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1031 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 22:04 · PVG 06:04 · LAX 15:04 · JFK 18:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.