2017-05-25 16 views
0

Wenn ich eine einzige boost::asio::io_service mit einem Thread-Pool laufen und einen bestimmten Socket empfange mit einem boost::asio::strand zu simulieren Single-Thread-Betrieb, weiß jemand, ob die Strang erfüllt die Anforderungen sicher zu einem boost::lockfree::spsc_queue zu produzieren, obwohl ich von verschiedene Gewinde produzieren werde, aber garantiert, nur eins zu einem Zeitpunkt zu produzieren.boost :: asio :: strang && boost :: lockfree :: spsc_queue

Antwort

0

Ja. Serialisierung durch einen Strang garantiert, was Sie suchen. Um dies ein wenig zu erweitern, wenn Sie mehrere Stände haben (zum Beispiel für mehrere Sockets) - dann gibt es keine solche Garantie über mehrere Stränge hinweg, die in dieselbe Warteschlange drängen.

+0

Danke, ich gebe das eine Chance. – schuess