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