【发布时间】:2013-09-24 02:38:04
【问题描述】:
我正在阅读一篇关于大型多核机器上的多线程性能问题的帖子: http://www.reddit.com/r/Python/comments/1mn12l/what_you_do_not_like_in_python/ccbc5h8 该帖子的一位作者声称,在大型多核系统中,多线程应用程序比多处理应用程序具有更大的性能影响。
AFIAK 多线程现在比多处理便宜(在系统管理和上下文切换方面)。 为简单起见,我们假设我们不需要使用锁。
如果我们不使用锁来保护共享内存,管理多线程应用程序及其对资源的访问是否存在任何系统限制?
当多线程具有巨大的性能影响(帖子作者有)时,是否有任何非用户空间实现相关的原因?
换句话说:与类似的多进程解决方案相比,导致数据密集型多线程应用程序性能不佳的系统级属性是什么?
我知道线程和进程之间的语义差异。
【问题讨论】:
-
我无法理解你的问题。你到底在问什么?
-
我刚刚更新了这个问题。还要检查正文中的链接,它显示了作者在使用多线程时注意到的性能影响。
标签: multithreading performance operating-system multiprocessing numa