<html><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px"><div id="yui_3_16_0_1_1432196252484_3448">ciao lista, buongiorno.</div><div id="yui_3_16_0_1_1432196252484_3503">Sto appresso ad un problema semplice ma che non riesco a risolvere.</div><div id="yui_3_16_0_1_1432196252484_3557">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. </div><div id="yui_3_16_0_1_1432196252484_3579">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.</div><div id="yui_3_16_0_1_1432196252484_3725"><br></div><div id="yui_3_16_0_1_1432196252484_3655">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<br></div><div id="yui_3_16_0_1_1432196252484_3635">Come posso fare?</div><div id="yui_3_16_0_1_1432196252484_3556"><br></div><div id="yui_3_16_0_1_1432196252484_3702">Ciao e grazie.</div><div id="yui_3_16_0_1_1432196252484_3703">py.Re<br></div><div dir="ltr" id="yui_3_16_0_1_1432196252484_3511"><br></div><div id="yui_3_16_0_1_1432196252484_3738" dir="ltr"><br></div><div dir="ltr"><br></div><div id="yui_3_16_0_1_1432196252484_3688" dir="ltr">Listato esempio:</div><div id="yui_3_16_0_1_1432196252484_3770" dir="ltr"><br></div><div id="yui_3_16_0_1_1432196252484_3622" dir="ltr">from multiprocessing import Process, Queue</div><div id="yui_3_16_0_1_1432196252484_3690" dir="ltr"><br style="" class="">def f(q):</div><div id="yui_3_16_0_1_1432196252484_3633" dir="ltr">    while True:<br style="" class="">        q.put([42, None, 'hello'])</div><div id="yui_3_16_0_1_1432196252484_3634" dir="ltr">    conn.close()<br style="" class=""><br style="" class="">if __name__ == '__main__':<br style="" class="">    q = Queue()<br style="" class="">    p = Process(target=f, args=(q,))<br style="" class="">    p.start()<br style="" class="">    print q.get()<br style="" class="">    p.join()<br></div><div id="yui_3_16_0_1_1432196252484_3523" style="" class=""><br></div><div id="yui_3_16_0_1_1432196252484_3767" style="" class=""><br></div><div id="yui_3_16_0_1_1432196252484_3768" style="" class=""><br style="" class=""></div></div></body></html>