1. 程式人生 > >python高性能編程--001--線程與進程的基本概念

python高性能編程--001--線程與進程的基本概念

python 高性能編程

一、什麽是進程
進程是程序的一次執行,而程序即為磁盤中可執行的二進制等類型的數據。
進程的生命周期:程序被讀取到內存中,被操作系統調用時才開始它的生命周期。
每個進程都有自己的地址空間、內存、數據棧以及其他記錄其運行軌跡的輔助數據,各個進程都有自己的內存空間、數據棧等,所以進程間不能直接共享信息,只能使用進程間通信。

二、什麽是線程
所有的線程運行在同一個進程中,共享相同的運行環境。可以將線程想象成是在“主進程”或“主線程”並行運行的“迷你進程”。
線程有開始、順序執行和結束三部分。
一個進程中的各個線程之間共享同一片數據空間,這就意味著線程之間的可以更方便地共享數據以及相互通信。
??註意線程一般都是並發運行的,但是在單CPU系統中,並不存在真正的並發,因為某一時刻只能有一個線程在使用CPU資源。

三、總結
各個進程有各自的數據空間,所以進程間的通信和數據共享會比較復雜;
線程共享相同的運行環境,共享同一片數據空間,數據共享和線程間通信會相對簡單。
在I/O密集型操作,多進程與多線程運行效率相差相對較小;
在CPU密集型操作,多進程的運行效率比多線程效率高;

python高性能編程--001--線程與進程的基本概念