多執行緒的出現是要解決什麼問題的? 本質什麼?

阿飞藏泪發表於2024-04-22

CPU、記憶體、I/O 裝置的速度是有極大差異的,為了合理利用 CPU 的高效能,平衡這三者的速度差異,計算機體系結構、作業系統、編譯程式都做出了貢獻,主要體現為:

  • CPU 增加了快取,以均衡與記憶體的速度差異;// 導致可見性問題
  • 作業系統增加了程序、執行緒,以分時複用 CPU,進而均衡 CPU 與 I/O 裝置的速度差異;// 導致原子性問題
  • 編譯程式最佳化指令執行次序,使得快取能夠得到更加合理地利用。// 導致有序性問題

相關文章