国产乱子伦高清露脸对白-国产精品欧美久久久久天天影视-国产91视频一区-亚洲欧美日产综合在线网-黄视频网站在线看-国产欧美亚洲精品第1页-亚洲www在线-大学生女人三级在线播放-日本在线视频www鲁啊鲁-国产成人精品一区二区仙踪林-69精品欧美一区二区三区-成人欧美亚洲-日本污污网站-中国妞xxxhd露脸偷拍视频-国产精品aⅴ在线观看-精品中文字幕在线

極客小將

您現(xiàn)在的位置是:首頁 » python編程資訊

資訊內(nèi)容

深入理解上篇之 Python的進程和線程

極客小將2020-12-10-
簡介python視頻教程欄目介紹進程和線程。進程(Process)和線程(Thread)都是操作系統(tǒng)中的基本概念,它們之間有一些優(yōu)劣和差異,那么在Python中如何使用進程和線程?CPU計算機的核心是CPU,它承擔了計算機的所有計算任務,CPU就像一個工廠,時刻在運行著,而操作系統(tǒng)管理著計算機,負責任務
python視頻教程欄目介紹進程和線程。

uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

進程(Process)和線程(Thread)都是操作系統(tǒng)中的基本概念,它們之間有一些優(yōu)劣和差異,那么在Python中如何使用進程和線程?uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

CPU

計算機的核心是CPU,它承擔了計算機的所有計算任務,CPU就像一個工廠,時刻在運行著,而操作系統(tǒng)管理著計算機,負責任務的調(diào)度、資源的分配和管理。uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

進程

進程是指在系統(tǒng)中能獨立運行并作為資源分配的基本單位,它是由一組機器指令、數(shù)據(jù)和堆棧等組成的,是一個能獨立運行的活動實體。uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

我們打開我們的計算機就會看到進程和線程,點擊我的電腦就可以看到CPU的運算。uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

從如圖中,CPU一共運行著190個進程,2620個線程。比如,當我們再次點擊QQ,登陸另一個賬號的時候又會開啟另一個QQ進程。uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

因此,如果想在電腦登入多個微信。只需要找到你的微信快捷方式,單擊右鍵查看屬性,在目標中復制鏈接;新建一個記事本,隨便取個名字,雙擊打開后,在其中輸入 start ""(注意引號為英文狀態(tài),且前后有空格),將剛剛復制的鏈接(也就是微信安裝的路徑)粘貼進去;然后復制整行,想開幾個微信就粘貼幾行;保存文件,更改后綴名為 bat。雙擊運行即可。uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

線程

線程(Thread)也叫輕量級進程,是操作系統(tǒng)能夠進行運算調(diào)度的**小單位,它被包涵在進程之中,是進程中的實際運作單位。uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

記得阮一峰寫過的博客:假定工廠的電力有限,一次只能供給一個車間使用。也就是說,一個車間開工的時候,其他車間都必須停工。背后的含義就是,單個CPU一次只能運行一個任務。uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

進程就好比工廠的車間,它代表CPU所能處理的單個任務。任一時刻,CPU總是運行一個進程,其他進程處于非運行狀態(tài)。uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

線程就好比車間里的工人。一個進程可以包括多個線程,協(xié)同完成一個任務。uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

總結來說:程序可以包含多個進程,多個進程并發(fā)執(zhí)行,相互獨立,因此,進程也是系統(tǒng)進行資源分配和調(diào)度基本單位。專業(yè)化來說:進程是指程序執(zhí)行時的一個實例。線程是**小的執(zhí)行單元,而進程由至少一個線程組成。如何調(diào)度進程和線程,完全由操作系統(tǒng)決定。uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

在Python中線程和進程的使用

現(xiàn)在講下在Python線程和進程的使用。uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

在Python中,通過兩個標準庫 thread和 Threading提供對線程的支持,threading對 thread進行了封裝。threading模塊中提供了 Thread,Lock, RLOCK, Condition等組件uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

Thread

在Python中線程和進程的使用就是通過Thread這個類。這個類在我們的_thread和threading模塊中。我們一般通過threading導入。uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

默認情況下,只要在解釋器中,如果沒有報錯,則說明線程可用。uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

>> from threading import Thread復制代碼

下面是Thread類的常用參數(shù)說明和實例方法。uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

我們看一個*方文檔中標準的多線程的例子。uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

import threading import time # 定義線程要運行的函數(shù) def func(name): # 為了便于觀察,睡眠2秒 time.sleep(2) print("My name is %s " % name) # 創(chuàng)建第一個線程的實例,args參數(shù)是一個元組,后面必須加逗號分隔 t1 = threading.Thread(target=func, args=("Runsen",)) # 創(chuàng)建第二個線程的實例 t2 = threading.Thread(target=func, args=("Maoli",)) t1.start() t2.start() # 先打印線程名 print(t1.getName()) print(t2.getName())復制代碼

由于兩個線程是同時運行的,所以print打印處理的結果并沒有換行。uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

下面我寫了下面的代碼,加深threading模塊的使用。uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

# -*- coding:utf-8 -*-# time :2019/4/9 21:52# author: Runsenimport threadingimport timedef fun1(): print('hello') time.sleep(2) print('Bye')def fun2(): print('hi') time.sleep(2) print('OUT') t1 = threading.Thread(target=fun1) t2 = threading.Thread(target=fun2) t1.start() t2.start()# t1.join()# t2.join()print('主線程完畢')復制代碼

下面是輸出結果。uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

hello hi 主線程完畢 Bye OUT復制代碼

我們先不加join()來阻塞,t1和t2兩個線程同時執(zhí)行,由于位置關系先打印hello,再打印hi,這個時候都sleep2秒鐘,但是它sleep2秒鐘,主程序還是在執(zhí)行,所以下面打印print('主線程完畢'),**后才打印Bye和OUT。uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

線程間變量的共享

在多線程中,所有變量對于所有線程都是共享的,因此,線程之間共享數(shù)據(jù)的**大危險在于多個線程同時修改一個變量,那就亂套了,所以我們需要互斥鎖,來鎖住數(shù)據(jù)。uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

代碼如上圖所示,上面代碼中打印的a是1還是2?uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

答案是:2。因為出現(xiàn)了global關鍵字,線程間變量的共享,在func函數(shù)中的a是全局變量。因此在函數(shù)中a的值發(fā)生了變化。uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

下面,我們提高一點點難度,代碼如下圖所示,還是猜一猜a是啥東西。注意:這里出現(xiàn)了join來阻塞,并且增加了加和減的操作。uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

相信很多人都認為是0,其實這個a的值是變化的,可能這次是0 ,下次是1,還有可能是1000000,比如,我可以uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

a就是在[-1000000,1000000]中的一個隨機數(shù)。uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

為什么呢?這是因為雖然他們是同時運行的,但是同時在修改我們的a,那就亂了。a在for i in range(1000000),就是遍歷了1000000,incr和decr的方法都加上一起了,在這1000000次遍歷中,不知道有多少加,多少減,比如,我1000000都是加,沒有減,a就是1000000,但是這種情況的概率很低。uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

如果你就是想出現(xiàn)0,其實只需要加一個互斥鎖就可以了。這樣你加多少次,我就減多少次,加減的次數(shù)不會疊加。因此來了lock的用法,具體代碼如下圖所示。uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

這個a怎么運行都是 0。因為我們把這個a鎖上了,這樣就加1000000次,減1000000次,怎么出來都是我們的0。uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

相關免費學習推薦:python視頻教程uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

以上就是深入理解上篇之 Python的進程和線程的詳細內(nèi)容,更多請關注少兒編程網(wǎng)其它相關文章!uHu少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

預約試聽課

已有385人預約都是免費的,你也試試吧...

国产乱子伦高清露脸对白-国产精品欧美久久久久天天影视-国产91视频一区-亚洲欧美日产综合在线网-黄视频网站在线看-国产欧美亚洲精品第1页-亚洲www在线-大学生女人三级在线播放-日本在线视频www鲁啊鲁-国产成人精品一区二区仙踪林-69精品欧美一区二区三区-成人欧美亚洲-日本污污网站-中国妞xxxhd露脸偷拍视频-国产精品aⅴ在线观看-精品中文字幕在线

        黄色av网址在线播放| 中文字幕天天干| 波多野结衣家庭教师在线播放| av不卡在线免费观看| 免费不卡av网站| 久久亚洲国产成人精品无码区| 人人妻人人澡人人爽欧美一区| 91嫩草国产丨精品入口麻豆| 少妇av一区二区三区无码| 成人中文字幕av| www.日本三级| 亚洲一区二区福利视频| 国产制服91一区二区三区制服| 成人在线免费观看av| 拔插拔插华人永久免费| 日韩亚洲欧美视频| 亚洲娇小娇小娇小| 欧美日韩大尺度| 日韩av中文字幕第一页| www亚洲成人| 亚洲综合日韩欧美| 国产黄色特级片| 一二三四视频社区在线| 午夜免费福利网站| 日韩av片网站| 国产欧美高清在线| 草b视频在线观看| 中文字幕资源在线观看| www日韩视频| 国产天堂在线播放| 日本xxxx黄色| 欧美在线aaa| 亚洲天堂av免费在线观看| mm131国产精品| 欧美视频免费看欧美视频| 久久国产午夜精品理论片最新版本| 黄色一级片国产| 国产欧美日韩网站| 日本久久久久久久久久久久| 97在线播放视频| 亚洲一区二区在线视频观看| 久久视频免费在线| 国产h视频在线播放| 亚洲福利精品视频| 国产精品久久久久久久99| 中文字幕免费高| 国产黄色片免费在线观看| 乱子伦视频在线看| 亚洲天堂网站在线| 无码aⅴ精品一区二区三区浪潮 | 妞干网在线视频观看| 天天操,天天操| 免费看欧美一级片| 欧美日韩精品区别| 99蜜桃臀久久久欧美精品网站| 91插插插影院| 色哟哟精品视频| 尤物av无码色av无码| 久久www视频| 国产免费xxx| 国产超碰在线播放| 99热一区二区| 欧美人成在线观看| 四虎永久在线精品无码视频| 中文字幕精品在线播放| 免费在线观看毛片网站| 亚洲天堂网2018| 欧美成人高潮一二区在线看| √天堂资源在线| 国产无套内射久久久国产| 手机在线观看日韩av| 欧美激情 国产精品| 日韩人妻精品一区二区三区| 国产xxxxx在线观看| 91传媒免费视频| 香蕉视频999| 日本黄网站免费| 黄页网站大全在线观看| 男人舔女人下面高潮视频| 亚洲熟妇无码av在线播放| 午夜激情av在线| jizzjizz国产精品喷水| 国产精品人人妻人人爽人人牛| 国产夫妻自拍一区| 粉嫩av一区二区三区天美传媒 | 日韩一二区视频| 小说区视频区图片区| 午夜dv内射一区二区| 免费观看黄色大片| 免费观看中文字幕| 欧洲精品视频在线| 激情视频综合网| aa在线免费观看| 亚洲黄色a v| 超碰免费在线公开| 亚洲免费黄色网| 美女网站视频黄色| 亚洲xxx在线观看| 不卡的在线视频| 欧美日韩性生活片| 久热在线视频观看| 黄色国产小视频| 霍思燕三级露全乳照| 人妻熟妇乱又伦精品视频| 色综合天天色综合| 亚洲高清视频免费| 国产91在线视频观看| 国产又黄又猛的视频| 日韩网站在线免费观看| 污污的视频免费观看| 国语对白做受xxxxx在线中国| 久久av秘一区二区三区| 黄色片视频在线免费观看| 穿情趣内衣被c到高潮视频| 妞干网在线免费视频| 欧美国产日韩激情| 91免费版看片| 天天干天天曰天天操| 成人毛片100部免费看| 可以在线看的av网站| 免费看a级黄色片| aaaaaaaa毛片| 色综合久久久久无码专区| 青青草原国产在线视频| 精品少妇人欧美激情在线观看| 日韩精品―中文字幕| 99九九99九九九99九他书对| 欧美在线观看www| 久久精品久久99| 久久午夜夜伦鲁鲁一区二区| 免费人成自慰网站| 日本精品一区在线| 免费看国产一级片| 无码av天堂一区二区三区| 激情文学亚洲色图| 九九热在线免费| 国产高潮免费视频| 日批视频在线免费看| mm131午夜| 日韩不卡视频一区二区| 黑人巨大国产9丨视频| 成人黄色av片| 欧美黄网在线观看| 和岳每晚弄的高潮嗷嗷叫视频| 国产精品www在线观看| 欧美黄网站在线观看| 免费看av软件| 91蝌蚪视频在线观看| 国产91沈先生在线播放| 青娱乐国产精品视频| 国产肉体ⅹxxx137大胆| 乱人伦xxxx国语对白| 97在线国产视频| 日韩欧美一区二| 手机在线看福利| 交换做爰国语对白| 欧美精品久久久久久久免费| 又粗又黑又大的吊av| 啊啊啊国产视频| 日本xxx免费| 黑森林福利视频导航| 久久久久久久久久久久久久久国产 | 免费无码不卡视频在线观看| 少妇性l交大片| 国产在线无码精品| 国产亚洲欧美在线视频| 中文字幕在线视频一区二区三区| av在线播放亚洲| 日本人69视频| 九九九九免费视频| 91免费黄视频| 狠狠97人人婷婷五月| 美国av在线播放| 成人免费看片'免费看| 波多野结衣免费观看| av7777777| 中文字幕在线观看第三页| 在线观看亚洲色图| 国产爆乳无码一区二区麻豆| 春日野结衣av| 东京热加勒比无码少妇| 做a视频在线观看| 色综合av综合无码综合网站| 99热一区二区三区| 亚洲色婷婷久久精品av蜜桃| 一级黄色片在线免费观看| 日韩av加勒比| 手机成人av在线| 成人免费毛片在线观看| 妺妺窝人体色www看人体| www.夜夜爱| av免费观看网| 国产深夜男女无套内射| 少妇性l交大片| 午夜免费视频网站| 国产成人亚洲精品无码h在线| 日韩少妇内射免费播放| 狠狠干 狠狠操| 亚洲人精品午夜射精日韩| 1024av视频|