掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
在python中可使用的多線程模塊主要有兩個(gè),thread和threading模塊。thread模塊提供了基本的線程和鎖的支持,建議新手不要使用。threading模塊允許創(chuàng)建和管理線程,提供了更多的同步原語(yǔ)。

thread模塊函數(shù):
start_new_thread(function, args[, kwargs]):?jiǎn)?dòng)新的線程以執(zhí)行function,返回線程標(biāo)識(shí)。
allocate_lock():返回LockType對(duì)象。
exit():拋出SystemExit異常,如果沒有被捕獲,線程靜默退出。
LockType類型鎖對(duì)象的方法:
acquire([waitflag]):無(wú)參數(shù),無(wú)條件獲得鎖,如果鎖已經(jīng)被其他線程獲取,則等待鎖被釋放。如果使用整型參數(shù),參數(shù)為0,如果鎖可獲取,則獲取且返回True,否則返回False;參數(shù)為非0,與無(wú)參數(shù)相同。
locked():返回鎖的狀態(tài),如果已經(jīng)被獲取,則返回True,否則返回False。
release():釋放鎖。只有已經(jīng)被獲取的鎖才能被釋放,不限于同一個(gè)線程。
threading模塊提供了更好的線程間的同步機(jī)制。threading模塊下有如下對(duì)象:
Thread
Lock
RLock
Condition
Event
Semaphore
BoundedSemaphore
Timer
threading模塊內(nèi)還有如下的函數(shù):
active_count()
activeCount():返回當(dāng)前alive的線程數(shù)量
Condition():返回新的條件變量對(duì)象
current_thread()
currentThread():返回當(dāng)前線程對(duì)象
enumerate():返回當(dāng)前活動(dòng)的線程,不包括已經(jīng)結(jié)束和未開始的線程,包括主線程及守護(hù)線程。
settrace(func):為所有線程設(shè)置一個(gè)跟蹤函數(shù)。
setprofile(func):為所有純種設(shè)置一個(gè)profile函數(shù)。

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流