色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python threading.local代碼實(shí)例及原理解析

瀏覽:30日期:2022-08-02 10:27:00

Python的線程操作在舊版本中使用的是thread模塊,在Python27和Python3中引入了threading模塊,同時(shí)thread模塊在Python3中改名為_(kāi)thread模塊,threading模塊相較于thread模塊,對(duì)于線程的操作更加的豐富,而且threading模塊本身也是相當(dāng)于對(duì)thread模塊的進(jìn)一步封裝而成,thread模塊有的功能threading模塊也都有,所以涉及到對(duì)線程的操作,推薦使用threading模塊。

threading模塊中包含了關(guān)于線程操作的豐富功能,包括:常用線程函數(shù),線程對(duì)象,鎖對(duì)象,遞歸鎖對(duì)象,事件對(duì)象,條件變量對(duì)象,信號(hào)量對(duì)象,定時(shí)器對(duì)象,柵欄對(duì)象。代碼如下

#coding = utf - 8import threading# 創(chuàng)建全局ThreadLocal對(duì)象:localVal = threading.local()localVal.val = 'Main-Thread'def process_student():print ’%s (in %s)’ % (localVal.val,threading.current_thread().name)def process_thread(name): #賦值localVal.val = nameprocess_student()t1 = threading.Thread(target =process_thread, args = (’One’, ),name = ’Thread-A’)t2 = threading.Thread(target =process_thread, args = (’Two’, ),name = ’Thread-B’)t1.start()t2.start()t1.join()t2.join()print localVal.val

打印結(jié)果:

One (in Thread-A)Two (in Thread-B)Main-Thread

threading.local()這個(gè)方法的特點(diǎn)用來(lái)保存一個(gè)全局變量,但是這個(gè)全局變量只有在當(dāng)前線程才能訪問(wèn),

localVal.val = name這條語(yǔ)句可以?xún)?chǔ)存一個(gè)變量到當(dāng)前線程,如果在另外一個(gè)線程里面再次對(duì)localVal.val進(jìn)行賦值,

那么會(huì)在另外一個(gè)線程單獨(dú)創(chuàng)建內(nèi)存空間來(lái)存儲(chǔ),也就是說(shuō)在不同的線程里面賦值 不會(huì)覆蓋之前的值,因?yàn)槊總€(gè)

線程里面都有一個(gè)單獨(dú)的空間來(lái)保存這個(gè)數(shù)據(jù),而且這個(gè)數(shù)據(jù)是隔離的,其他線程無(wú)法訪問(wèn)

這個(gè)東西可以用在那些地方呢,比如下載,現(xiàn)在都是多線程下載了,就像酷狗那樣,可以同時(shí)下載很多首歌曲,那么

就可以利用這個(gè)方法來(lái)保存每個(gè)下載線程的數(shù)據(jù),比如下載進(jìn)度,下載速度之類(lèi)的

所以 如果你在開(kāi)發(fā)多線程應(yīng)用的時(shí)候 需要每個(gè)線程保存一個(gè)單獨(dú)的數(shù)據(jù)供當(dāng)前線程操作,可以考慮使用這個(gè)方法,簡(jiǎn)單有效

其實(shí)這樣的功能還有很多種方法可以實(shí)現(xiàn),比如我們?cè)谥骶€程實(shí)例化一個(gè)dict對(duì)象,然后用線程的名字作為key,因?yàn)榫€程之間可以共享數(shù)據(jù),

所以也可以實(shí)現(xiàn)相同功能,并且靈活性更多,不過(guò)代碼就沒(méi)那么優(yōu)雅簡(jiǎn)潔了

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 91精品国产一区二区三区左线 | 国产精品一级毛片不收费 | 91精品啪在线观看国产91九色 | 欧美午夜在线播放 | 国产精品视频男人的天堂 | 男女生性毛片免费观看 | 日本又黄又爽又免费 | 午夜国产 | 撸久久 | 日本三级成人中文字幕乱码 | 亚洲第一se情网站 | 国产原创在线视频 | 91欧美激情一区二区三区成人 | 东莞a级毛片 | 免费播放美女一级毛片 | 亚洲欧美中文在线观看4 | 国产日韩高清一区二区三区 | 欧美成网站 | 久久精品在线 | 欧美特级视频 | 国产精品亚洲一区二区三区 | 国产精品自拍视频 | 国产亚洲欧美久久精品 | 13一14周岁毛片免费 | 欧美精品一二三区 | 男女男精品视频 | 99视频国产在线 | 国产美女一区二区在线观看 | 久久91视频 | 亚洲精品二区中文字幕 | 国产99精品一区二区三区免费 | 在线观看精品国产 | 亚州a| 农村寡妇一级毛片免费播放 | 久热精品6| 国产欧美日韩中文久久 | 国产精品久久久久无码av | 国产真实生活伦对白 | 日韩免费高清一级毛片 | 国产成人www免费人成看片 | 综合在线播放 |