私は現在、実行に多くの時間を消費するタスクを実装しています。そのため、スレッド化を選択しました。しかし、複数のスレッドを作成したいスレッドに foreach ループがあります。これが適切な方法なのか心配でした。
私のコードは次のようになります。
Thread th= new Thread(new ThreadStart(ThreadProcedure));
th.IsBackground = true;
th.Start();
public void ThreadProcedure()
{
//I have datatable here
foreach(DataRow in mytable.rows)
{
//here I want to create a multiple threads, say like
//Thread1 on which I want to run method1
Method1(dr["Column1"].ToString());
//Thread2 on which I want to run method2
Method2(dr["Column2"].ToString());
//Thread3 on which I want to run method3
Method3(dr["Column3"].ToString());
}
}
foreach 内で、データ行のセルの値を渡すことでいくつかのメソッドを実行しています。