[Python] multiprocessing queue | pipe

Remo The Last py.remothelast a yahoo.it
Gio 21 Maggio 2015 10:35:54 CEST


ciao lista, buongiorno.Sto appresso ad un problema semplice ma che non riesco a risolvere.Nell'esempio che segue la def f, con il suo while, mi deve inviare sempre i dati aggiornati (q.put) e il q.get nel main deve ricevere sempre i dati della def. Il problema è che la def f viene eseguita una sola volta e anche se ho inserito un ciclo while i dati vengono inviati e ricevuti solo una volta mentre a me serve che i dati vengano inviati e ricevuti sempre, in quanto la def dovrà aggiornare i dati da inviare.
Anche se modifico il listato e uso una pipe, la def viene eseguita una sola volta e i dati aggiornati vengono ricevuti una sola volta
Come posso fare?
Ciao e grazie.py.Re



Listato esempio:
from multiprocessing import Process, Queue
def f(q):    while True:
        q.put([42, None, 'hello'])    conn.close()

if __name__ == '__main__':
    q = Queue()
    p = Process(target=f, args=(q,))
    p.start()
    print q.get()
    p.join()



-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20150521/f41269ce/attachment.html>


Maggiori informazioni sulla lista Python