多執行緒入門
多執行緒是一種程式設計技術,它包括將任務劃分為單獨的執行執行緒。這些執行緒通過分配給不同的處理核心或通過時間切片同時執行。
在設計多執行緒程式時,應儘可能使執行緒彼此獨立,以實現最大的加速。
實際上,執行緒很少完全獨立,這使得同步變得必要。
可以使用 Amdahl 定律計算最大理論加速。
好處
- 通過有效使用可用的處理資源加快執行時間
- 允許程序保持響應,而無需拆分冗長的計算或昂貴的 I / O 操作
- 輕鬆優先於某些操作優先於其他操作
缺點
- 如果不仔細設計,可能會引入難以發現的錯誤
- 建立執行緒涉及一些開銷