怎么在python中使用thread.local()實(shí)現(xiàn)實(shí)例化?相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
平魯網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),平魯網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為平魯數(shù)千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請找那個(gè)售后服務(wù)好的平魯做網(wǎng)站的公司定做!
Python主要應(yīng)用于:1、Web開發(fā);2、數(shù)據(jù)科學(xué)研究;3、網(wǎng)絡(luò)爬蟲;4、嵌入式應(yīng)用開發(fā);5、游戲開發(fā);6、桌面應(yīng)用開發(fā)。
1、說明
threading.local()實(shí)例化全局對象,該全局對象有大字典,鍵值為兩個(gè)弱引用對象{線程對象、字典對象},通過current_thread()獲取當(dāng)前線程對象,并根據(jù)該對象獲取相應(yīng)的字典對象。
2、實(shí)例
import threading import random data = threading.local() def show(d): try: num = d.num except AttributeError: print("線程 %s 還未設(shè)置該屬性!" % threading.current_thread().getName()) else: print("線程 %s 中該屬性的值為 = %s" % (threading.current_thread().getName(), num)) def thread_call(d): show(d) d.num = random.randint(1, 100) show(d) if __name__ == '__main__': show(data) data.num = 666 show(data) for i in range(2): t = threading.Thread(target=thread_call, args=(data,), name="Thread " + str(i)) t.start()
看完上述內(nèi)容,你們掌握怎么在python中使用thread.local()實(shí)現(xiàn)實(shí)例化的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!