~玉米糊~
慢慢来,也会很快。 非宁静无以志学,学什么都一样,慢慢打基础,找规律、认真、坚持,其余的交给时间。
随笔 - 117,  文章 - 17,  评论 - 1,  阅读 - 82072

如何创建和使用在线程内部用的全局对象

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类用于创建一个全局对象,不过该对象只能在线程内部使用,也据是说,全局是针对一个线程而言的。

posted on   yuminhu  阅读(64)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示