电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Python threading.local代碼實例及原理解析

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

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

threading模塊中包含了關于線程操作的豐富功能,包括:常用線程函數,線程對象,鎖對象,遞歸鎖對象,事件對象,條件變量對象,信號量對象,定時器對象,柵欄對象。代碼如下

#coding = utf - 8import threading# 創建全局ThreadLocal對象: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

打印結果:

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

threading.local()這個方法的特點用來保存一個全局變量,但是這個全局變量只有在當前線程才能訪問,

localVal.val = name這條語句可以儲存一個變量到當前線程,如果在另外一個線程里面再次對localVal.val進行賦值,

那么會在另外一個線程單獨創建內存空間來存儲,也就是說在不同的線程里面賦值 不會覆蓋之前的值,因為每個

線程里面都有一個單獨的空間來保存這個數據,而且這個數據是隔離的,其他線程無法訪問

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

就可以利用這個方法來保存每個下載線程的數據,比如下載進度,下載速度之類的

所以 如果你在開發多線程應用的時候 需要每個線程保存一個單獨的數據供當前線程操作,可以考慮使用這個方法,簡單有效

其實這樣的功能還有很多種方法可以實現,比如我們在主線程實例化一個dict對象,然后用線程的名字作為key,因為線程之間可以共享數據,

所以也可以實現相同功能,并且靈活性更多,不過代碼就沒那么優雅簡潔了

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 点焊机-缝焊机-闪光对焊机-电阻焊设备生产厂家-上海骏腾发智能设备有限公司 | 呼末二氧化碳|ETCO2模块采样管_气体干燥管_气体过滤器-湖南纳雄医疗器械有限公司 | 橡胶粉碎机_橡胶磨粉机_轮胎粉碎机_轮胎磨粉机-河南鼎聚重工机械制造有限公司 | 液压扳手-高品质液压扳手供应商 - 液压扳手, 液压扳手供应商, 德国进口液压拉马 | 大行程影像测量仪-探针型影像测量仪-增强型影像测量仪|首丰百科 大通天成企业资质代办_承装修试电力设施许可证_增值电信业务经营许可证_无人机运营合格证_广播电视节目制作许可证 | 全国国际化学校_国际高中招生_一站式升学择校服务-国际学校网 | 欧洲MV日韩MV国产_人妻无码一区二区三区免费_少妇被 到高潮喷出白浆av_精品少妇自慰到喷水AV网站 | 科研ELISA试剂盒,酶联免疫检测试剂盒,昆虫_植物ELISA酶免试剂盒-上海仁捷生物科技有限公司 | 环压强度试验机-拉链拉力试验机-上海倾技仪器仪表科技有限公司 | 企典软件一站式企业管理平台,可私有、本地化部署!在线CRM客户关系管理系统|移动办公OA管理系统|HR人事管理系统|人力 | 东莞市海宝机械有限公司-不锈钢分选机-硅胶橡胶-生活垃圾-涡电流-静电-金属-矿石分选机 | 一级建造师培训_一建培训机构_中建云筑建造师培训网校 | 聚丙烯酰胺_厂家_价格-河南唐达净水材料有限公司 | 电梯装饰-北京万达中意电梯装饰有限公司 | 日本SMC气缸接头-速度控制阀-日本三菱伺服电机-苏州禾力自动化科技有限公司 | 西安文都考研官网_西安考研辅导班_考研培训机构_西安在职考研培训 | 便携式表面粗糙度仪-彩屏硬度计-分体式粗糙度仪-北京凯达科仪科技有限公司 | 玻璃钢格栅盖板|玻璃钢盖板|玻璃钢格栅板|树篦子-长沙川皖玻璃钢制品有限公司 | 土壤肥料养分速测仪_测土配方施肥仪_土壤养分检测仪-杭州鸣辉科技有限公司 | 2-羟基泽兰内酯-乙酰蒲公英萜醇-甘草查尔酮A-上海纯优生物科技有限公司 | 纯化水设备-EDI-制药-实验室-二级反渗透-高纯水|超纯水设备 | 发电机组|柴油发电机组-批发,上柴,玉柴,潍柴,康明斯柴油发电机厂家直销 | 江西高职单独招生-江西单招考试-江西高职单招网 | 济南ISO9000认证咨询代理公司,ISO9001认证,CMA实验室认证,ISO/TS16949认证,服务体系认证,资产管理体系认证,SC食品生产许可证- 济南创远企业管理咨询有限公司 郑州电线电缆厂家-防火|低压|低烟无卤电缆-河南明星电缆 | 全自动包衣机-无菌分装隔离器-浙江迦南科技股份有限公司 | 媒介云-全网整合营销_成都新闻媒体发稿_软文发布平台 | 宿舍管理系统_智慧园区系统_房屋/房产管理系统_公寓管理系统 | 花纹铝板,合金铝卷板,阴极铝板-济南恒诚铝业有限公司 | 锯边机,自动锯边机,双面涂胶机-建业顺达机械有限公司 | PCB接线端子_栅板式端子_线路板连接器_端子排生产厂家-置恒电气 喷码机,激光喷码打码机,鸡蛋打码机,手持打码机,自动喷码机,一物一码防伪溯源-恒欣瑞达有限公司 假肢-假肢价格-假肢厂家-河南假肢-郑州市力康假肢矫形器有限公司 | 成都竞价托管_抖音代运营_网站建设_成都SEM外包-成都智网创联网络科技有限公司 | 重庆钣金加工厂家首页-专业定做监控电视墙_操作台 | 杭州可当科技有限公司—流量卡_随身WiFi_AI摄像头一站式解决方案 | 商标转让-商标注册-商标查询-软著专利服务平台 - 赣江万网 | 耐力板-PC阳光板-PC板-PC耐力板 - 嘉兴赢创实业有限公司 | FFU_空气初效|中效|高效过滤器_空调过滤网-广州梓净净化设备有限公司 | 一氧化氮泄露报警器,二甲苯浓度超标报警器-郑州汇瑞埔电子技术有限公司 | 制丸机,小型中药制丸机,全自动制丸机价格-甘肃恒跃制药设备有限公司 | MES系统-WMS系统-MES定制开发-制造执行MES解决方案-罗浮云计算 | 杭州火蝠电商_京东代运营_拼多多全托管代运营【天猫代运营】 | 小区健身器材_户外健身器材_室外健身器材_公园健身路径-沧州浩然体育器材有限公司 |