說我有一個名爲「firstModule.py」模塊中的如下功能:的Python線程和全局變量
def calculate():
# addCount value here should be used from the mainModule
a=random.randint(0,5) + addCount
現在我有一個名爲「secondModule.py」不同的模塊:
def calculate():
# addCount value here too should be used from the mainModule
a=random.randint(10,20) + addCount
我運行一個名爲 「mainModule.py」 模塊,該模塊具有以下(注意全球 「addCount」 VAR):
import firstModule
import secondModule
addCount=0
Class MyThread(Thread):
def __init__(self,name):
Thread.__init__(self)
self.name=name
def run(self):
global addCount
if self.name=="firstModule":
firstModule.calculate()
if self.name=="secondModule":
secondModule.calculate()
def main():
the1=MyThread("firstModule");
the2=MyThread("secondModule");
the1.start()
the2.start()
the1.join()
the2.join()
# This part doesn't work:
print firstModule.a
print secondModule.a
BASICA我希望兩個模塊中的「addCount」值是「mainModule」中的值。之後,線程完成後,我想在它們兩個中打印「a」的值 。上面的例子不起作用。我想知道如何解決這個問題。
確定它正在工作,但我無法設置全局變量.. – Gavriel 2010-10-09 17:12:07