Il 24/10/2013 10:53, Vittorio Spina ha scritto:
Il 24/10/2013 00:06, Simone Federici ha scritto:

from multiprocessing import Process, Value
import time

num = Value('i', 0)

def do_something():
    while 1:
        num.value += 1

p = Process(target=do_something)
p.start()

while 1:
    print num.value
    time.sleep(1)


è solo un esempio preso paro paro dal tuo codice sui threads
però ti conviene approfondire i Manager, Queue e Pipe
a me questo esempio non funziona.
intanto stampa sempre 0 e poi in risorse di sistema si aprono una miriade di processi python.exe che aumentano di numero continuamente. Apre di continuo nuovi processi.
se invece la parte main la scrivo come

[...]
if __name__ == '__main__':
    p = Process(target=do_something)
    p.start()
    while 1:
        print num.value
        time.sleep(1)

allora apre regolarmente solo due processi
e questa cosa proprio non la capisco!
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a