python中的多线程-共享全局变量
生活随笔
收集整理的這篇文章主要介紹了
python中的多线程-共享全局变量
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
- 在一個進(jìn)程內(nèi)的所有線程共享全局變量,能夠在不適用其他方式的前提下完成多線程之間的數(shù)據(jù)共享(這點(diǎn)要比多進(jìn)程要好)
- 缺點(diǎn)就是,線程是對全局變量隨意遂改可能造成多線程之間對全局變量的混亂(即線程非安全)
?
案例:
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)? # 創(chuàng)建一個線程對象
t2 = Thread(target=fun2)? # 創(chuàng)建一個線程對象
?
t1.start()? #開啟線程的執(zhí)行
t2.start()
?
t1.join() # 回收線程資源
t2.join()
?
print(num)
?
?
總結(jié)
以上是生活随笔為你收集整理的python中的多线程-共享全局变量的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 人生苦短,我用Python(Python
- 下一篇: 利用python自定义完整版迭代器