python(CPython)提供了_thread和threading兩個(gè)線程模塊,_thread是低級(jí)模塊,threading對_thread進(jìn)行了封裝,提高了_thread原有功能的易用性以及擴(kuò)展了新功能,通常我們只需要使用threading模塊就可以了,這里我們也只對threading模塊進(jìn)行詳細(xì)介紹。
2.1方法屬性首先,我們來看一下threading模塊的直接方法和屬性。
threading.enumerate()
以列表形式返回當(dāng)前所有存活的threading.Thread對象。
threading.active_count()
返回當(dāng)前存活的threading.Thread對象,等于len(threading.enumerate())。
threading.current_thread()
返回當(dāng)前對應(yīng)調(diào)用者控制的threading.Thread對象,如果調(diào)用者的控制線程不是利用threading創(chuàng)建,則會(huì)返回一個(gè)功能受限的虛擬線程對象。
threading.get_ident()
返回當(dāng)前線程的線程標(biāo)識(shí)符,它是一個(gè)非零的整數(shù),其值沒有直接含義,它可能會(huì)在線程退出,新線程創(chuàng)建時(shí)被復(fù)用。
threading.main_thread()
返回主線程對象,一般情況下,主線程是Python解釋器開始時(shí)創(chuàng)建的線程。
threading.stack_size([size])
返回創(chuàng)建線程時(shí)用的堆棧大小,可選參數(shù)size指定之后新建線程的堆棧大小,size值需要為0或者最小是32768(32KiB)的一個(gè)正整數(shù),如不指定size,則默認(rèn)為0。
threading.get_native_id()
返回內(nèi)核分配給當(dāng)前線程的原生集成線程ID,其值是一個(gè)非負(fù)整數(shù)。
threading.TIMEOUT_MAX
指定阻塞函數(shù)(如:Lock.acquire(),Condition.wait()...)中形參timeout允許的最大值,傳入超過這個(gè)值的timeout會(huì)拋出OverflowError異常。
以上內(nèi)容為大家介紹了Python的threading模塊,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。