<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">Il giorno 25 maggio 2016 19:05, Roberto Polli <span dir="ltr"><<a href="mailto:robipolli@gmail.com" target="_blank">robipolli@gmail.com</a>></span> ha scritto:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Entrata a gamba tesa ;)<br>
<br>
- Enrico Franchi ha ((quasi) sempre) ragione;<br>
- multithreading è un bordello in-testabile;<br></blockquote><div><br></div><div>Non discuto nessuna delle affermazione. E sulla seconda puoi</div><div>anche aggiungere che è maledettamente lenta appena appena</div><div>lanci qualche thread di troppo. Per fortuna che per l'IO adesso</div><div>c'è asyncio: E' un piacere vedere come viaggia anche sotto stress.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
- pthread_mutex_lock() finisce per diventare CPU bound, cosa che è male;<br>
- un race nei lock() finisce solitamente male, e capita magari dopo<br>
qualche mese;<br>
<br>
A suo tempo, scrivendo un software in C:<br>
- mi salvai usando posix message queues implementate da Linux;<br>
- il gioco funge magicamente da circa 6 anni in un ambiente abbastanza critico.<br>
<br>
Di recente ho usato multiprocessing e mp.Queue per un software io-bound:<br>
<br>
  - funziona senza problemi;<br>
  - il codice è molto leggibile;<br>
  - ogni componente è separato e facilmente testabile;<br>
  - eventuali parti shmem sono gestite dalla PSL che è ben testata e mantenuta;<br>
<br>
Implementare il tuo multithread | multiprocess con shared memory è un<br>
ottimo modo per interiorizzare il tutto.<br>
Non è vietato o sbagliato: è più complesso da gestire e (imho) non<br>
scala orizzontalmente.<br></blockquote><div><br></div><div>Fra un mesetto sarò in ferie ed avrò il tempo per esaminare il tutto con attenzione.</div><div>Troverò questo thread e ci posterò il risultato. Facile che E.F. abbia ragione e che </div><div>mi troverò in un mare di sangue. Ma in ferie e per divertimento si suole andare al</div><div>mare. Se poi sarà di sangue, pazienza: mi porterò anche un pacco di cerotti :-) </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Pax,<br></blockquote><div><br></div><div>Nobis. :-)</div><div> </div></div>Alex</div></div>