~~併發編程(七):重要方法~~

進擊のpython


併發編程——線程理論


前面講的是進程的相關理論部分python

從本節開始,就是對線程的相關知識的研究了編程

本節對線程進行一個定義,知道什麼是線程多線程

以及橫向對比進程,知曉二者的不一樣點併發


什麼是線程

線程是執行程序的最小單位線程

舉個例子:進程

老師讓你讀一本書,那麼這個書能夠看做是進程,而你讀書的這個過程就是線程資源

線程就是用來執行程序的,那麼就能夠這麼想程序

每開一個進程是否是就要執行該進程,而執行程序的最小單位是線程總結

因此每開一個進程,隨之而來的就是自動開一個線程通信

進程將資源都聚合起來,而後給線程執行

多線程就是在一個進程裏存在多個線程,多個線程共享這個進程裏面的資源

就好像班級同窗一塊兒讀投影儀上的文章同樣,投影儀上的文章就是進程裏面的資源

全班同窗就是一個一個的線程,幾乎同時來執行讀書這個‘任務’


線程VS進程

線程和進程的區別,主要體如今如下這六個方面:

1.線程共享建立它的進程的地址空間;進程有本身的地址空間

2.線程能夠直接訪問其進程的數據段;進程有本身的父進程數據段副本

3.線程能夠直接與其進程的其餘線程通訊;進程要使用進程間通訊與兄弟進程通訊

4.新線程很容易建立;新進程須要父進程的重複

5.線程能夠對同一進程的線程進行至關大的控制;進程只能對子進程進行控制

6.對主線程的更改(取消、優先級更改等)可能會影響進程的其餘線程的行爲;

對父進程的更改不會影響子進程

其實總結起來,就兩個關鍵:

1.線程共享進程的數據

2.建立線程開銷遠小於進程


*****
*****
相關文章
相關標籤/搜索