0

ポートをリッスンし (TCP リスナーを使用)、データをデータベース (SQL サーバー) に書き込む ac# コードを作成しました。私の現在のアプローチは次のとおりです。

  • 新しいデバイス エントリが到着したときにスレッドを作成します。
  • ストリームからデータを読み取り、DB に書き込みます。

4 ~ 5 台のデバイスがデータをポートに送信するまで、これはすべて正常に機能します。これを超えると、完全なアプローチは失敗します。

これに代わるものがあるかどうか知りたかっただけです。1つのアプローチは、1つのスレッドセットをキューに書き込み、別のスレッドセット(3〜4に制限)をキューから読み取ってDBに書き込むことだと思います。

4

1 に答える 1

0

複数のスレッドがデータを追加し、複数のスレッドがそのデータを読み取ることができるブロッキングコレクションを使用することをお勧めします。ブロックしているため、新しいデータを待っている間、スレッドは非常に効率的です。

詳細については、http://msdn.microsoft.com/en-us/library/dd267312.aspxを参照してください。

于 2012-07-03T14:35:54.013 に答える