其他分享
首页 > 其他分享> > 062 在线程中如何创建和使用全局对象

062 在线程中如何创建和使用全局对象

作者:互联网

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

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

标签:062,20,在线,程中,threading,import,全局,local
来源: https://www.cnblogs.com/yuminhu/p/16058345.html