moving to processing from threading, global variables

rkmr.em at gmail.com rkmr.em at gmail.com
Sun Apr 12 19:05:41 CEST 2009


no one? how can i share variables in processing?
please help out!

On Thu, Apr 9, 2009 at 8:05 AM, rkmr.em at gmail.com <rkmr.em at gmail.com> wrote:

> hi
> i am trying to move from threading to processing package. this is the
> controller i used to spawn new threads, and it used the global
> variable done to check if it needs to spawn more threads or not. it worked
> great for me. it checks if there is new data to be processed every
> 30 seconds, and spawns of new threads to do the work, till all work is
> done.
>
>
> but now in processing, anychange made to global variable done in sendalert
> method, is not reflected in the controller method.
>
> can please point out what is wrong?
> thanks a lot!
>
>
> code
>
>
> done = False
> def sendalert():
>    global done
>    users = q.get('xx')
>    if not users:
>      done = True
>      return
>
>    done = False
>    for u in users:
>     do stuff
>
>
> def control(number_threads_min=3, number_threads_max = 100):
>     global done
>     while True:
>         number_threads = len(processing.activeChildren())
>         if not done and number_threads<number_threads_max:
>             processing.Process(target=sendalert).start()
>         if done and number_threads<number_threads_min:
>             processing.Process(target=sendalert).start()
>             time.sleep(30)
>
> if __name__ == '__main__':
>     processing.Process(target=control).start()
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20090412/6c78ec75/attachment.html>


More information about the Python-list mailing list