Boost.Asioの並行処理モデル:なぜ同一ソケットでasync_writeを同時に呼び出してはいけないのか?
【Boost.Asio深解】同一ソケットでの同時async_writeはなぜ危険なのか?送信キューだけでは不十分
Boost.Asioを用いた高並行サーバーを開発する際、多くの開発者は以下のようなコードを書く傾向があります。
送信キュー + async_writeを連鎖的に送信
複数のスレッドからSession::Send()を呼び出し
mutexでキューを保護
一見すると、
「スレッドセーフ + 送信キュー = ...
7月30日 23:11 投稿
MINAフレームワークのソースコード解析:NIOベースの非同期通信実装
Apache MINAはJava NIOを基盤とした非同期ネットワークアプリケーションフレームワークであり、低レベルのNIO操作を抽象化することで、開発者はビジネスロジックに集中できる。MINAサーバーの起動プロセスは以下の4ステップで構成される。
IoServiceの作成:サーバー側ではIoAcceptor(例:NioSocketAcceptor)、クライアント側ではIoConnectorをインスタンス化する。
Io ...
6月27日 01:28 投稿