- PR -

C#マルチスレッドについて

1
投稿者投稿内容
キョロちゃん
会議室デビュー日: 2003/07/09
投稿数: 6
投稿日時: 2004-06-30 23:44
C#初心者です。
TEST1とTEST2とTEST3クラスが存在します。
TEST3クラスはwindowsformです。
TEST2にはデータを読み込むメソッドAとメソッドBが存在します。
TEST1からTEST2のメソッドAを呼びました。
結果としてデータセットA(レコード3行)が返ってきました。
TEST3にデータセットAを渡します。

この部分↓
TEST1からTEST2のメソッドBを呼びます。引数としてデータセットAの1レコードを渡します。
(データセットBが返る)
TEST3にデータセットBを渡します。
この部分↑
…を3回繰り返す(レコード3行の為)
を回数ごとにマルチスレッド化したいのですが
どうしたらよいでしょうか?

または
この部分↓
TEST1からTEST2のメソッドBを呼びます。引数としてデータセットAを渡します。
(データセットBが返る)
TEST3にデータセットBを渡します。
この部分↑
をマルチスレッド化したいのですが
どうしたらよいでしょうか?

ネットなどで調べてみましたが正直分かりません。
サンプルコードを教えていただくと助かります。
宜しくお願いします。

[ メッセージ編集済み 編集者: キョロちゃん 編集日時 2004-06-30 23:44 ]

[ メッセージ編集済み 編集者: キョロちゃん 編集日時 2004-07-01 00:16 ]
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-07-01 09:26
引用:

キョロちゃんさんの書き込み (2004-06-30 23:44) より:

ネットなどで調べてみましたが正直分かりません。
サンプルコードを教えていただくと助かります。


 どのような探し方をして、どのような例を得、どこが理解できなかったのでしょう?サイトによってはサンプルコードも転がっているし、MSDNにも載っています。それらを、自分の目的に応用できないのであれば、手を出すべきではありません。バグが発生したときに直すのはあなたですから、あなたが理解できないものに手を出すべきではない、そう思います。
NAL-6295
ぬし
会議室デビュー日: 2003/01/26
投稿数: 966
お住まい・勤務地: 東京
投稿日時: 2004-07-01 09:37
NAL-6295です。

まず、その前にマルチスレッド化するのが適切なのかを考えたほうがいいかもしれません。

http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpdnbprocs/htm/progCharp15-00.asp
から引用
引用:

■■ 不確かなメリット
マルチスレッドアプリケーションを開発した経験がない方は驚くかもしれませんが、スレッド作成とスケジューリングには膨大な CPU オーバーヘッドがかかります。このため、結果として、シングルスレッドアプリケーションの方が高速に動作するようなこともあるのです。すべては処理内容であり、それぞれに独立した処理をスレッドとして分割しているかにかかっています。たとえば、3 個のファイルをハードディスクから読み出すとしましょう。この場合、3 個のファイルの読み出し処理それぞれに、合計 3 個のスレッドを作成してもメリットはまったくありません。理由は簡単です。個々のスレッドは、同一のハードディスクを使用することになるからです。このため、アプリケーションを作成する場合には、シングルスレッドとマルチスレッドの両バージョンを用意し、動作を評価することが大切です。きちんと評価をしたうえで、作業を開始するようにするのです。このような姿勢で臨めば、時間も設計コストも無駄になることはありません。稼動した後で、パフォーマンスの低さを指摘されるようなこともありません。



その他も読んでみると良いかもしれません。
1

スキルアップ/キャリアアップ(JOB@IT)