作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在 Linux/gcc 上使用 pthread_create
创建了 N
个线程。每个线程使用 for (;;) printf(...)
尽可能快地写入其 ID,仅此而已。我使用 usleep
让整个程序运行 3 秒,并注意到在我的 4 核
CPU 上,当 N=4
时它产生大约 1,000,000行,当 N=8
时,它产生大约 4 倍的量。在 4 核 CPU 上 8 线程性能更好的原因是什么? CPU 未启用超线程。
最佳答案
I/O 和 CPU 操作非常不同。如果您运行 CPU 密集型计算,N=核心数将是最佳选择。对于 I/O,最佳数量可能要高得多。
关于c - 合适的线程数是多少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11134391/
我是一名优秀的程序员,十分优秀!