. 引入
- 使用多线程最主要的目的就是缩短应用程序完成任务的时间。
- 在【为什么需要多线程】总结中有这样一句话:<b>若多个线程都是CPU密集型,那么并不能获取性能上的提升。</b>同理,若都是IO密集型的,也不能提升性能。即这种情况下,使用多线程不能缩短应用程序完成任务的时间。
- 总结:最好在大量CPU计算(控制)和大量IO共存的时候用。
google2010年ppt
硬件 | 耗时 |
---|---|
L1 cache reference | 0.5ns |
Branch mispredict | 5ns |
L2 cache reference | 7ns |
Mutex lock/unlock | 100ns |
Main memory reference | 100ns |
Send 1M bytes over 1Gbps network | 10ms |
Read 1M sequentially from memory | 0.25ms |
Round trip within data center | 0.5ms |
Disk seek | 8~10ms |
Read 1MB sequentially from disk | 20~25ms |