「在合作中競爭,在競爭中合作」——這是併發範式的核心寫照。冒號老師以「燒水泡茶」為例,生動對比串行與併發思維:
方案二明顯更優,但冒號指出:單靠併發 API 不保證效率,必須重新設計任務分解與依賴關係。
synchronized, lock, volatile, concurrent 套件)volatile 關鍵字,主要仰賴庫(pthreads, TBB, C++11 <thread>)| 維度 | 併發範式 | 物件範式 |
|---|---|---|
| 基本單位 | Process/Thread(任務) | Object(服務) |
| 核心主題 | 資源競爭與合作 | 封裝、繼承、多態、服務 |
| 溝通方式 | 共享記憶體、訊息傳遞、同步原語 | 方法呼叫、介面契約 |
| 隱喻 | 產品型公司:工人執行單一任務 | 服務型公司:服務員提供系列服務 |
冒號總結:「優秀的程式設計師也是優秀的管理者。」
併發範式要求擺脫「按部就班」的線性思維,擁抱「百舸爭流」的並行世界——不進則退。