如何创建和使用在线程内部用的全局对象
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | import threading import time a = threading.local() a.x = 0 def worker(): for i in range ( 20 ): time.sleep(( 0.01 )) a.x + = 1 print (threading.current_thread(), a.x) for i in range ( 10 ): threading.Thread(target = worker()).start() |
<_MainThread(MainThread, started 12832)> 20
<_MainThread(MainThread, started 12832)> 40
<_MainThread(MainThread, started 12832)> 60
<_MainThread(MainThread, started 12832)> 80
<_MainThread(MainThread, started 12832)> 100
<_MainThread(MainThread, started 12832)> 120
<_MainThread(MainThread, started 12832)> 140
<_MainThread(MainThread, started 12832)> 160
<_MainThread(MainThread, started 12832)> 180
<_MainThread(MainThread, started 12832)> 200
local类用于创建一个全局对象,不过该对象只能在线程内部使用,也据是说,全局是针对一个线程而言的。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!