2017-05-25 2 views
0

Si je suis en train d'exécuter un seul boost::asio::io_service avec un pool de threads et d'envelopper un socket particulier en utilisant un boost::asio::strand pour simuler une opération monothread, quelqu'un sait-il si le brin répond aux exigences de produire en toute sécurité à un boost::lockfree::spsc_queue même si je vais produire à partir de différents threads mais garantis pour n'en produire qu'un seul à la fois.boost :: asio :: strand && boost :: lockfree :: spsc_queue

Répondre

0

Oui. La sérialisation à travers un brin garantit ce que vous recherchez. Pour étendre cela un peu, si vous avez plusieurs stands (pour plusieurs sockets par exemple) - alors une telle garantie n'existe pas sur plusieurs brins poussant vers la même file d'attente.

+0

Merci, je vais essayer. – schuess