python多執行緒筆記

2021-10-03 07:23:18 字數 1343 閱讀 9588

顯示當前有幾條執行緒: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...