当前位置:  开发笔记 > 编程语言 > 正文

哪个操作系统的线程编程足以使用多个内核?

如何解决《哪个操作系统的线程编程足以使用多个内核?》经验,为你挑选了1个好方法。

我想使用我的多线程编程技能(我有技能),但我意识到这还不够.如果操作系统不知道潜在的话,我的线程仍可能竞争相同的核心.我可以在英特尔至强架构上使用哪些OS /编译器/库组合来连接到内核?



1> Javier..:

所有现代操作系统都在所有可用内核上分配线程; 但有几种语言或库可以防止这种情况发生.最常见的问题是:

绿色线程.当多个CPU很少且操作系统不够优化时,它曾经具有性能优势.有一些Java虚拟机吹嘘这是一个功能,后来转向M:N方案,我认为现在到处都是N:N.

GIL:Global Intepreter Lock.一些脚本语言在解释器循环中有很多全局状态,所以有一个大的(互斥锁)锁来确保一致性; 但这会阻止同一"空间"的两个线程同时运行.至少Python和Lua有这个问题.在这些情况下,最好使用多个进程而不是多个线程.

另外,最好记住大多数cpu绑定应用程序中最大的瓶颈是RAM带宽,通常不是CPU本身,所以有几个线程争用相同的内存可能不是最好的设计.在几个通过小消息进行通信的独立进程中重构通常要好得多.

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有