Ho il compito di modificare un programma C sincrono in modo che possa essere eseguito in parallelo. L'obiettivo è di renderlo il più portabile possibile in quanto è un programma open source utilizzato da molte persone. Per questo motivo, ho pensato che sarebbe stato meglio avvolgere il programma in un livello C++ in modo da sfruttare le librerie boost portatili. L'ho già fatto e tutto sembra funzionare come previsto.Passaggio di messaggi C++ multi-threaded
Il problema che sto avendo è decidere quale sia l'approccio migliore per passare i messaggi tra i thread. Fortunatamente, l'architettura del programma è quella di un produttore multiplo e di un singolo consumatore. Ancora meglio, l'ordine dei messaggi non è importante. Ho letto che le code single-producer/single-consumer (SPSC) trarrebbero beneficio da questa architettura. Quelli con esperienza di programmazione multi-threaded hanno qualche consiglio? Sono abbastanza nuovo per questa roba. Sarebbe molto apprezzato anche qualsiasi esempio di codice che utilizza boost per implementare SPSC.
Vedere risposta accettata a http://stackoverflow.com/questions/8918401/does-a-multiple-producer-single-consumer-lock-free-queue-exist-for-c – walrii