2
在Windows上使用Python 2.7.3。如何在2个线程之间共享变量
如何在线程之间共享变量num
,例如num
平方后打印?
我意识到,我需要了解如何线程工作,但文档没有了,我没有发现任何东西在这里无论是..
因此,能不能有人解释线程是如何工作的,以及如何之间共享变量2个线程?
我的代码(不断印刷2
)
import threading
def func1(num):
while num < 100000000:
num = num**2
def func2(num):
while num < 100000000:
print num,
num = 2
thread1 = threading.Thread(target=func1,args=(num,))
thread2 = threading.Thread(target=func2,args=(num,))
print 'setup'
thread1.start()
thread2.start()
所以,队列是2个线程之间的通信机制。另外,一个队列可以包含任何数据结构,对吗? – pradyunsg 2013-03-17 14:40:02
是的,队列是一种线程安全的通信方式。它可以包含任何数据,列表,字典,甚至是异常(这可以用于发送回主进程)。 – uselpa 2013-03-17 14:48:45
感谢您澄清我的怀疑..只是一个小问题(在我upvote之前)..我可以有任何数量的队列(受处理能力限制)。我对么? – pradyunsg 2013-03-17 14:55:20