Python多執行緒(三)

2021-08-27 16:28:19 字數 601 閱讀 4130

在前面的章節我們介紹了使用執行緒和不使使用執行緒的對比例項,並且引入了鎖的概念,這節課我們來了解一下更高階的threading模組。

在threading模組中不僅包含了thread類,還包含了非常好用的同步機制,下面我們先看下threading的一些屬性介紹:

物件描述

thread

表示乙個執行執行緒的物件

lock

鎖原語物件

rlock

可重入鎖物件,使單一執行緒可(兩次)獲得已持有的鎖(遞迴鎖)

condition

條件變數物件,使得乙個執行緒等待另乙個執行緒滿足特定的「條件」,比如改變狀態或者資料值

event

條件變數的通用版本,任意數量的執行緒等待某個事件的發生,在該事件發生後所有執行緒將被啟用

semaphore

為執行緒間共享的有限資源提供了乙個「計數器」,如果沒有可用資源時會被阻塞

boundedsemaphore

與semaphore類似,不過它不允許超過初始值

timer

與thread類似,不過它要在執行前等待一段時間

barrier

建立乙個「障礙」,必須達到指定的執行緒數後才可以繼續

python多執行緒 python多執行緒

通常來說,多程序適用於計算密集型任務,多執行緒適用於io密集型任務,如網路爬蟲。關於多執行緒和多程序的區別,請參考這個 下面將使用python標準庫的multiprocessing包來嘗試多執行緒的操作,在python中呼叫多執行緒要使用multiprocessing.dummy,如果是多程序則去掉...

python多執行緒詳解 Python多執行緒詳解

前言 由於最近的工作中一直需要用到python去處理資料,而在面對大量的資料時,python多執行緒的優勢就展現出來了。因而藉此機會,盡可能詳盡地來闡述python多執行緒。但對於其更底層的實現機制,在此不做深究,僅是對於之前的一知半解做個補充,也希望初學者能夠通過這篇文章,即便是照葫蘆畫瓢,也能夠...

python程式多執行緒 PYTHON多執行緒

在單執行緒的情況下,程式是逐條指令順序執行的。同一時間只做乙個任務,完成了乙個任務再進行下乙個任務。比如有5個人吃飯,單執行緒一次只允許乙個人吃,乙個人吃完了另乙個人才能接著吃,假如每個人吃飯都需要1分鐘,5個人就需要5分鐘。多執行緒的情況下,程式就會同時進行多個任務,雖然在同一時刻也只能執行某個任...