Say I have the following function in a module called "firstModule.py":
def calculate():
  # addCount value here should be used from the mainModule
   a=random.randint(0,5) + addCount
Now I have a different module called "secondModule.py":
def calculate():
  # addCount value here too should be used from the mainModule
   a=random.randint(10,20) + addCount
I am running a module called "mainModule.py" which has the following (notice the global "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
Basically I want the "addCount" value in both modules to be the one from "mainModule". After that, when the threads are finished, I want to print the value of "a" in both of them. The example above doesn't work. I was wondering how can I fix it.