进程与线程的性能影响

标签 performance multithreading multicore

显然,如果性能至关重要,那么原型(prototype)和配置文件是有意义的。但同样,可以在 StackOverflow 上寻求智慧和建议 :)

对于处理任务间通信不频繁或适合消息传递的高度并行任务,使用进程(fork() 等)或线程是否存在性能劣势?

线程之间的上下文切换比进程之间的上下文切换便宜吗?有些处理器有单指令上下文切换,不是吗?主流操作系统是否更好地利用多线程或多进程的 SMP?如果进程从不写入这些页面,那么 fork() 的 COW 开销是否比线程更昂贵?

等等。谢谢!

最佳答案

流程创建缓慢的想法是一个古老的想法,在过去更是如此。谷歌的 Chrome 团队在某处写了一小段关于它如何不再产生那么大的影响,这里是 Scott Hanselman 关于这个主题的:http://www.hanselman.com/blog/MicrosoftIE8AndGoogleChromeProcessesAreTheNewThreads.aspx

我的看法是线程更快?'c 但只是适度,而且目前线程更容易出错。

我听说 .NET 4.0 将扩展线程库......关于 system.threading.thread.For 的东西?而且我能想到几个我想做的地方......对于这个千项列表中的每个项目去做一些事情。

http://reedcopsey.com/?p=87

关于进程与线程的性能影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1808541/

相关文章:

javascript - JavaScript 函数查找数组中最常见元素的速度差异

c - 如何使用 C 在 Windows 中创建可中断 sleep ?

c++ - glibc 的 '-lmcheck' 选项和多线程

operating-system - 什么是 "Logical CPU Core"

mysql - 国际象棋场景中 100 万行 MySQL 表的性能

python - 在两个数组中查找共同值的索引

sql-server - order by 会大大减慢查询速度

java - 将服务层传递给线程的正确方法

c - 在多个内核上同时运行两个函数

java - 如何在多处理器机器上从 JavaEE 服务器获得最大性能?