2019-05-08 22:00:55多線程
1、定義併發
進程:是操做系統資源分配的基本單位。spa
線程:是進程的一個執行單元,線程也被稱爲輕量級進程。操作系統
一個程序至少一個進程,一個進程至少一個線程。線程
2、區別進程
- 地址空間:同一進程的線程共享本進程的地址空間,而進程之間則是獨立的地址空間。
- 一個進程崩潰後,在保護模式下不會對其餘進程產生影響,可是一個線程崩潰整個進程都死掉。因此多進程要比多線程健壯。
- 進程切換時,消耗的資源大,效率高。因此涉及到頻繁的切換時,使用線程要好於進程。一樣若是要求同時進行而且又要共享某些變量的併發操做,只能用線程不能用進程
- 執行過程:每一個獨立的進程程有一個程序運行的入口、順序執行序列和程序入口。可是線程不能獨立執行,必須依存在應用程序中,由應用程序提供多個線程執行控制。
3、通訊方式內存
進程:共享內存,管道資源
線程:全局變量,自定義的消息機制多進程