兩種併發編程模型 多進程 進程間通信常用的幾種方式: 文件 管道 消息隊列 多線程 一個進程中存在的多個線程,通常通過共用記憶體來通信,(說的非常非常粗俗,就是通過類似“全局變數”的一些數據對象來通信。不知道這種說對不對) 兩者優缺點 多線程優點 線程被稱為“輕量級進程”,一般啟動更快,而開啟一個進程 ...
兩種併發編程模型
多進程
進程間通信常用的幾種方式:
- 文件
- 管道
消息隊列
多線程
一個進程中存在的多個線程,通常通過共用記憶體來通信,(說的非常非常粗俗,就是通過類似“全局變數”的一些數據對象來通信。不知道這種說對不對)
兩者優缺點
多線程優點
- 線程被稱為“輕量級進程”,一般啟動更快,而開啟一個進程會慢一些也會複雜一點(因為操作系統需要綁定一些內部資源來管理進程)
- 線程的運行成本更低。比如說進程運行時,操作系統需要提供很多保護,防止意外地從當前進程切換到其他某個進程
- 共用記憶體的通信方式比進程間通信方式 快很多
多線程缺點
- 多線程需要很小心的管理,避免死鎖、數據競速等等
- 多線程不能運行在分散式環境下,多進程運行在不同主機上很方便