Strike Freedom

Live fast. Die young. Be wild. Have fun.

Discovery

次时代Java编程(一) Java里的协程

什么是协程(coroutine) 这东西其实有很多名词,比如有的人喜欢称为纤程(Fiber),或者绿色线程(GreenThread)。其实最直观的解释可以定义为线程的线程。有点拗口,但本质上就是这样。 我们先回忆一下线程的定义,操作系统产生一个进程,进程再产生若干个线程 并行 的处理逻辑,线程的切换由操作系统负责调度。传统语言 C++ Java 等线程其实与操作系统线程是 1:1 的关系,每个线程都有自己的 Stack, Java 在 64 位系统默认 Stack 大小是 1024KB,所以指望一个进程开启上万个线程是不现实的。但是实际上我们也不会这么干,因为起这么多线程并不能充分的利用 CPU,大部分线程处于等待状态,CPU 也没有这么核让线程使用。所以一般线程数目都是 CPU 的核数。

Live fast. Die young. Be wild. Have fun.

© 2020 Strike Freedom

Powered by Bolo
Theme bolo-sakura by Mashiro
浏览 537639 文章 46 评论 155

SCHEME TOOL