Entrata a gamba tesa ;) - Enrico Franchi ha ((quasi) sempre) ragione; - multithreading è un bordello in-testabile; - 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. Pax, R. _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python