中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python線程實體的說明介紹

發布時間:2021-09-18 15:52:52 來源:億速云 閱讀:148 作者:chen 欄目:編程語言

本篇內容主要講解“Python線程實體的說明介紹”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Python線程實體的說明介紹”吧!

我們在做軟件開發的時候很多要用到多線程技術。例如如果做一個下載軟件象flashget就要用到、象在線視頻工具realplayer也要用到因為要同時下載media stream還要播放。其實例子是很多的。

線程相對進程來說是“輕量級”的,操作系統用較少的資源創建和管理線程。程序中的線程在相同的內存空間中執行,并共享許多相同的資源。在python中如何創建一個線程對象:如果你要創建一個線程對象,很簡單,只要你的類繼承threading.Thread,然后在__init__里首先調用threading.Thread的__init__方法即可:

t1 = mythread('t1')  print t1.getName(),t1.isDaemon()  t1.setDaemon(True)  print t1.getName(),t1.isDaemon()  t1.start()  print 'main thread exit'

這才僅僅是個空線程,我可不是要他拉空車的,他可得給我干點實在活。很簡單,重寫類的run()方法即可,把你要在線程執行時做的事情都放到里面。以上代碼我們讓這個線程在執行之后每隔1秒輸出一次信息到屏幕,10次后結束getName()是threading.Thread類的一個方法,用來獲得這個線程對象的name。

還有一個方法setName()當然就是來設置這個線程對象的name的了。如果要創建一個線程,首先就要先創建一個線程對象。一個線程對象被創建后,他就處于“born”(誕生狀態),如何讓這個線程對象開始運行呢?只要調用線程對象的start()方法即可:

奇怪嗎?不是已經start了嗎?為什么不稱為“running”狀態呢?其實是有原因的。因為我們的計算機一般是不具有真正并行處理能力的。我們所謂的多線程只是把時間分成片段,然后隔一個時間段就讓一個線程執行一下,然后進入“sleeping ”狀態,然后喚醒另一個在“sleeping”的線程。

如此循環runnable->sleeping->runnable... ,只是因為計算機執行速度很快,而時間片段間隔很小,我們感受不到,以為是同時進行的。所以說一個線程在start了之后只是處在了可以運行的狀態,他什么時候運行還是由系統來進行調度的。

那一個線程什么時候會Python線程呢?一般來說當線程對象的run方法執行結束或者在執行中拋出異常的話,那么這個線程就會結束了。系統會自動對“dead”狀態線程進行清理。如果一個線程t1在執行的過程中需要等待另一個線程t2執行結束后才能運行的話那就可以在t1在調用t2的join()方法。

這樣t1在執行到Python線程語句后就會等待t2結束后才會繼續運行,如果一個進程的主線程運行完畢而子線程還在執行的話,那么進程就不會退出,直到所有子線程結束為止,如何讓主線程結束的時候其他子線程也乖乖的跟老大撤退呢?

那就要把那些不聽話的人設置為聽話的小弟,使用線程對象的setDaemon()方法,參數為bool型。True的話就代表你要聽話,我老大(主線程)扯呼,你也要跟著撤,不能拖后腿。如果是False的話就不用那么聽話了,老大允許你們將在外軍命有所不受的。需要注意的是setDaemon()方法必須在線程對象沒有調用start()方法之前調用,否則沒效果。

到此,相信大家對“Python線程實體的說明介紹”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新河县| 长兴县| 延长县| 叙永县| 康乐县| 平乡县| 蓬莱市| 农安县| 综艺| 吐鲁番市| 故城县| 平武县| 睢宁县| 萨嘎县| 抚州市| 巨野县| 霍山县| 定边县| 虹口区| 云浮市| 庄河市| 澳门| 墨玉县| 年辖:市辖区| 安陆市| 德庆县| 拉孜县| 砚山县| 太保市| 三亚市| 怀柔区| 环江| 建阳市| 东城区| 榕江县| 洞口县| 原平市| 丹江口市| 祁门县| 宁都县| 株洲市|