顯示當前有幾條執行緒:print(threading.active_count())
顯示具體的程序名:print(threading.enumerance())
顯示當前正在執行的執行緒:print(threading.current_thread())
新增新的執行緒名add_thread = threading.thread(target='此處輸入要執行的子程式', name='這裡可以給執行緒命名,但並不是必須'),新增完後,就可以用add_thread.start()開始這一條新的執行緒。
add_thread.join()可以等待add_thread這乙個程序執行完成後才執行寫在add_thread.join()後面的執行緒,注意:add_thread.join()這一句出現的位置作為分割,這一句以前的程序繼續執行,這一句以後的程序等待add_thread這一條程序完成後才繼續執行。
它有以下3個方法:
acquire
(blocking=true, timeout=-1)
可以阻塞或非阻塞地獲得鎖。
當呼叫時引數 blocking 設定為true
(預設值),阻塞直到鎖被釋放,然後將鎖鎖定並返回true
。
在引數 blocking 被設定為false
的情況下呼叫,將不會發生阻塞。如果呼叫時 blocking 設為true
會阻塞,並立即返回false
;否則,將鎖鎖定並返回true
。
當浮點型 timeout 引數被設定為正值呼叫時,只要無法獲得鎖,將最多阻塞 timeout 設定的秒數。timeout 引數被設定為-1
時將無限等待。當 blocking 為 false 時,timeout 指定的值將被忽略。
如果成功獲得鎖,則返回true
,否則返回false
(例如發生 超時 的時候)。
在 3.2 版更改: 新的 timeout 形參。
在 3.2 版更改: 現在如果底層執行緒實現支援,則可以通過posix上的訊號中斷鎖的獲取。
release
()
釋放乙個鎖。這個方法可以在任何執行緒中呼叫,不單指獲得鎖的執行緒。
當鎖被鎖定,將它重置為未鎖定,並返回。如果其他執行緒正在等待這個鎖解鎖而被阻塞,只允許其中乙個允許。
在未鎖定的鎖呼叫時,會引發runtimeerror
異常。
沒有返回值。
locked
()
如果獲得了鎖則返回真值。
python多執行緒 python多執行緒
通常來說,多程序適用於計算密集型任務,多執行緒適用於io密集型任務,如網路爬蟲。關於多執行緒和多程序的區別,請參考這個 下面將使用python標準庫的multiprocessing包來嘗試多執行緒的操作,在python中呼叫多執行緒要使用multiprocessing.dummy,如果是多程序則去掉...
python 多執行緒筆記一
python thread,threading模組提供了對多執行緒的支援,不過通常我們使用threading模組來進行多執行緒程式設計。多執行緒模組使用方法 1.使用thread模組中的start new thread function,元組引數 字典引數 來執行函式,通常直接在python she...
Python學習筆記 多執行緒
引入多執行緒模組 import threading 任何乙個程序啟動的時候會預設的啟動乙個執行緒,這個執行緒叫主線程,主線程可以啟動新的子執行緒 獲取主當前執行緒的名稱 threading.current thread name 建立子執行緒 t threading.thread target fu...