python中的多线程-共享全局变量
2017-08-10 22:59
453 查看
在一个进程内的所有线程共享全局变量,能够在不适用其他方式的前提下完成多线程之间的数据共享(这点要比多进程要好)
缺点就是,线程是对全局变量随意遂改可能造成多线程之间对全局变量的混乱(即线程非安全)
案例:
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)
缺点就是,线程是对全局变量随意遂改可能造成多线程之间对全局变量的混乱(即线程非安全)
案例:
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)
相关文章推荐
- 多线程-共享全局变量(python版)
- Python3-多线程共享全局变量
- 【python】多线程共享全局变量问题
- Python多线程下的全局变量、局部变量
- 用关中断和互斥量来保护多线程共享的全局变量
- python:线程的使用、线程共享全局变量、列表作为参数(全局变量)、避免全局变量被修改
- python:线程的使用、线程共享全局变量、列表作为参数(全局变量)、避免全局变量被修改
- python进阶之多线程对同一个全局变量的处理
- Python 进程之间共享数据(全局变量)
- python中如何在不同文件间共享全局变量
- python多线程共享变量的使用和效率
- python在不同文件之间共享全局变量方案的探讨
- python通过配置文件共享全局变量
- Java多线程共享全局变量问题
- 『Python』 多线程 共享变量的实现
- python unittest TestCase间共享数据(全局变量的使用)
- 多线程学习之一:线程对共享全局变量的访问
- Python 进程之间共享数据(全局变量)
- python中如何在不同文件间共享全局变量