2011-11-14 6 views
-1

私は、マルチスレッドを使用してクライアント用のデータを挿入するプロセスを作るように言われました。アプローチのマルチスレッドアドバイスが必要です

短時間でクライアントデータベースを更新する必要があります。ジョブを実行するアプリケーションがありますが、それはシングルスレッドです。マルチスレッドにする必要があります。

アイデアビーイングは

アイデアは10-20スレッド、さらに複数のインスタンスを起動する各スレッドに5000レコードを割り当てる 既存のアプリケーションに50000件のレコードを

EG プロセスを使用してバッチでデータを挿入することです仕事をするために同じアプリケーションの

これにアプローチする方法のアイデア、提案の例。 残念ながら.net 2.0です。

は、あなたが遭遇したこと、それを行うにはどのように任意の良い例は、私は、問題が既存のことであるドーナツにドルを賭けるその間に

+1

あなたはここでどのような提案をしていますか?細部が不足しているため、多くの場合、あなたが言ったように、複数のスレッドを開始し、それらの間でワークロードを分割することができます。 –

+1

これらの挿入物はすべて同じテーブルにありますか? – Tudor

+2

あなたの外の問題は何ですか?あなたは1を超えて10のスレッドを持つことで何を得ることができますか? –

答えて

0

をマルチスレッドで読む

など、EGのThreadPoolありますコードはちょうど不合理に非効率なアルゴリズムを使用します。マルチスレッド化することは、アルゴリズムを修正しない限りうまくいかないでしょう。アルゴリズムを修正すると、マルチスレッド化する必要はありません。これは、通常、マルチスレッド自体のメリットがある問題のタイプのようには聞こえません。

データベースへの待ち時間が問題になる場合は、この問題がどこにあるかわかります。しかし、それが同じLANまたは同じデータセンターにある場合、それは問題ではありません。