Virtual Thread VS Goroutine

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