绿色线程与非绿色线程

我想了解这些类型的线程提供的优势。


在什么环境下绿色线程比非绿色更好?有人说绿色线程更适合多核处理器。


任何预期的行为问题。


弑天下
浏览 585回答 3
3回答

墨色风雨

绿色线程内存是从堆中分配的,而不是由OS为其创建堆栈。这可能会在并发线程中产生一个数量级或更多的增加。正如其他人所提到的,这不会自动利用多个处理器,但是用例通常用于阻止I / O - 例如绿色线程可能允许您处理100k并发连接而不是10k。换句话说,绿色线程对于特定规模的IO绑定操作更好。

临摹微笑

绿色线程是在应用程序级而不是在OS中实现的线程。这通常在操作系统不提供线程API时完成,或者它不能以您需要的方式工作。因此,优点是您可以获得类似线程的功能。缺点是绿色线程实际上不能使用多个核心。有一些早期的JVM使用绿色线程(IIRC是Blackdown JVM端口到Linux),但现在所有主流JVM都使用真正的线程。可能有一些嵌入式JVM仍然使用绿色线程。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java