1. 程式人生 > >進程和線程的區別和聯系

進程和線程的區別和聯系

創建 通信 同步 場景 更多 系統 復雜度 進程間 全局變量

1.兩者都是多任務編程方式,都能夠使用計算機的多核資源
2.進程的創建刪除消耗的計算機資源比線程要多
3.進程空間獨立,數據相互不幹擾,有專門的IPC,線程使用全局變量進程通信
4.一個進程可以創建多個線程分支,兩者之間存在包含關系
5.多個線程公用進程的資源,在資源操作時往往需要同步互斥
6進程線程在系統中都有自己特有的屬性,ID,代碼段,棧區等資源

使用場景:
*需要創建較多並發,同時任務關聯性比較強時一般用多線程
*不同的任務模塊可能更多使用進程
*使用進程線程需要考慮數據的處理復雜度,比如進程間通信是否方便,同步互斥是否過於復雜

進程和線程的區別和聯系