Python考试题--第67道题目--怎么创建和操作在线程内部用的实例对象--2022年04月22日
原创目录
1.创建全局对象:
1,都会在这条线上。local类实例化---->对象
2,则递增对象的值
3,测试多个线程之间的全局变量是否共享
2.示例代码演示:
import threading
import time
a = threading.local() # 实例化local类-->变成了一个物体a
def worker():
a.x = 0
for i in range(20):
time.sleep(0.01)
a.x += 1
print(threading.current_thread(), a.x)
for i in range(10): # 调用10个线程
threading.Thread(target=worker).start()
3.摘要:
1、local类用于创建全局对象,但该对象只能在线程内部使用,即全局对象用于一个线程,不能在多个线程之间共享。
2,每个线程都是a.x该变量的值将增加20,不再积累。因此,多个线程不共享全局变量。
3、 current_thread()是Python中线程模块的内置方法。 它用于返回当前Thread对象,该对象对应于调用方的控件线程。
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除
itfan123



