- 结论:
- Go 角度:Java 的虚拟线程是在单线程基础上模仿 Go 协程的优化,目前空转性能相比 Go 差 10 倍,综合性能更是差很多,不足为惧。
- Java 角度:在单线程模式下,初步引入了协程,可以轻松使用,结合 Java 的面向对象等优良特性,有助于稳步提升市场占有率。
设计点\语言 | Go | Java |
---|---|---|
用户态运行 | ||
多 CPU | √ | × |
阻塞前主动调度 | ||
调用便利性 | go func1() | try (Executors.new()) {} |
同步原语 | goroutine | lock |
内存申请 | ||
GC | ||
协程栈扩缩容 | ||
文件阻塞 | ||
网络阻塞 | ||
长时间未调度 |