以前非同期処理について書いたブログの記事が8回にわたっていて見通しが悪いのに気がついたので、ここにインデックスを置くことにしました。
- 非同期処理(その1)
- まずは、非同期処理が終わった時に行う処理をコールバックとして設定する例。
- 非同期処理(その2)
- 前回の記事ではコールバックを利用した例を書いたので、今回は Task クラスの ContinueWith メソッドを利用した例を書いてみます
- 非同期処理(その3)
- 前回は、Task クラスの ContinueWith メソッドを利用した「コンソール入力されたデータの処理を非同期で行い結果を表示する」プログラムを書いてみましたが、今回はこのパターンを Visual Studio 2012 で導入された async/await で簡単に書けるかを考えてみます。
- 非同期処理(その4)
- 今回は、同時実行するタスクの数を制限してみます。基にするコードは前々回の ContinueWith を用いたものにします。
- プロデューサー/コンシューマー パターン
- 前回及び前々回の「うまく書けない・気持ち悪いことになる」のは、キーボード入力の受け取りと受け取ったデータの処理が密接に結合していていることが原因となっています。そこで、この2つを疎結合とする方法として、プロデューサー/コンシューマー パターンを適用します。
- 非同期処理(その5)
- 前回のプロデューサー/コンシューマー パターンを利用して、同時実行するタスクの数を制限できるプログラムを考えてみます。
- プロデューサー/コンシューマー パターンを利用したサーバー側接続処理
- 前回プロデューサー/コンシューマー パターンを利用したコンソールアプリケーションを書いてみましたが、今回は以前作成したクライアント・サーバーシステムをプロデューサー/コンシューマー パターンを利用して書きなおしてみます。
- プロデューサー/コンシューマー パターンを利用した IPv4 及び IPv6 接続待ち
- 前回はプロデューサー/コンシューマー パターンを利用して IPv4 で接続待ちを行うプログラムを書いてみましたが、今回は IPv4 と IPv6 の両方で接続待ちを行うプログラムを書いてみます。以前「IPv4 と IPv6 で接続待ちを行う」で BeginAcceptTcpClient を使って書いたものをプロデューサー/コンシューマー パターンを利用して書きなおしてみます。前回のものと違い、プロデューサ側が2つになるので、その点への対応が必要になります。