【发布时间】:2012-04-27 08:48:57
【问题描述】:
我目前正在考虑多线程应用程序可能无法很好扩展的原因。
我知道并且一直在与之抗争的两个原因是:
- 线程间通信不好,拖慢速度
- 芯片上的内核数和 CPU 的内存带宽不会按比例增加。这会导致每个核心的内存带宽越慢,芯片上的核心使用越多。
还有什么问题?
【问题讨论】:
-
Communication between processes...你说的是多线程 -
..可能是错字/braino。我确定 OP 的意思是“线程之间”:)
-
好吧,要正确,我们要么坚持进程,要么坚持线程。无论如何,因为我对理论比对实际正确性更感兴趣 - 请原谅我:)
-
我会添加 (3) 线程都需要访问某些共享资源(例如互斥锁或硬盘驱动器等),最终他们轮流访问它,大多数线程都被阻塞了很多时候都在等待轮到他们。
标签: multithreading parallel-processing multicore