Regarding Threads and locals()

Teja tejovathi.p at
Thu Mar 20 11:40:54 CET 2008

Hi all,

I have a GUI applicaion(along with threads). When the run button is
pressed in the GUI a separate thread starts( Thread is created using
beginthreadex) and does the
required activity.
Now, while the thread is being executed, i want the locals() present
inside the thread's run function to be avaialbe in the GUI class from
where the thread class is being created

class WorkerThread(threading.Thread):

    def __init__(self, ):
         # Start the thread and invoke the run method

    def run(self):
          # Start the thread. It executed self.func() as a separate
          self.workerThread, tid = win32process.beginthreadex(None,
0 , self.func ,(), 1)

     def func(self):

class GUI(wxFrame):
       def __init__(self):
       def  CreateThread(self):

             self.workerThread = WorkerThread()

if name == _main_:
.        ....
.        .....
  i = 1
  j = 2
  k = 4
        print i
        print j
        print k
        i = 1+1
        j = j+2
        k = k + 3

Now, while the thread is executin func and printing i, j, k , In the
main GUI thread how do i get the values of i, j ,k
I tried with sys.modules, sys._current_frames, vars(). But nothing
worked out.

Ideally the locals() of func() should be passed to the GUI thread,

More information about the Python-list mailing list