- 在一个进程内的所有线程共享全局变量,能够在不适用其他方式的前提下完成多线程之间的数据共享(这点要比多进程要好)
- 缺点就是,线程是对全局变量随意遂改可能造成多线程之间对全局变量的混乱(即线程非安全)
案例:
from threading import Thread
import time
num = 0 # 资源竞争问题
deffun1():
global num
for i in range(1000000):
num += 1
deffun2():
global num
for i in range(1000000):
num += 1
t1 = Thread(target=fun1) # 创建一个线程对象
t2 = Thread(target=fun2) # 创建一个线程对象
t1.start() #开启线程的执行
t2.start()
t1.join() # 回收线程资源
t2.join()
print(num)