猿问
绿色线程与非绿色线程
我想了解这些类型的线程提供的优势。
在什么环境下绿色线程比非绿色更好?有人说绿色线程更适合多核处理器。
任何预期的行为问题。
弑天下
浏览 585
回答 3
3回答
墨色风雨
绿色线程内存是从堆中分配的,而不是由OS为其创建堆栈。这可能会在并发线程中产生一个数量级或更多的增加。正如其他人所提到的,这不会自动利用多个处理器,但是用例通常用于阻止I / O - 例如绿色线程可能允许您处理100k并发连接而不是10k。换句话说,绿色线程对于特定规模的IO绑定操作更好。
0
0
0
临摹微笑
绿色线程是在应用程序级而不是在OS中实现的线程。这通常在操作系统不提供线程API时完成,或者它不能以您需要的方式工作。因此,优点是您可以获得类似线程的功能。缺点是绿色线程实际上不能使用多个核心。有一些早期的JVM使用绿色线程(IIRC是Blackdown JVM端口到Linux),但现在所有主流JVM都使用真正的线程。可能有一些嵌入式JVM仍然使用绿色线程。
0
0
0
随时随地看视频
慕课网APP
相关分类
Java
我要回答