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