. 引入
- 使用多线程最主要的目的就是缩短应用程序完成任务的时间。
- 在【为什么需要多线程】总结中有这样一句话:<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 |