私は C# スレッドの初心者であり、基本的なタスクの実装に助けが必要です。現在、正常に動作する以下のコードを (スレッドを使用せずに) 使用しています。概念は、テーブルのレコードをループし、関数でいくつかのテーブル引数を渡し、戻り値を除いて、戻り値でテーブルを更新することです。
cmd = new OleDbCommand { Connection = con, CommandText = "Select recid,col_A,col_B from tblData"};
dr = cmd.ExecuteReader();
if (dr.HasRows)
{
cmdRec = new OleDbCommand { Connection = con };
while (dr.Read())
{
sReqResult = DoProcessing(dr["col_A"].ToString(), dr["col_B"].ToString(), dr["PARAM2"].ToString());
sSql = "update tblData set STATUS='" + sReqResult + "' where recid = '" + dr["recid"] + "'";
cmdRec.CommandText = sSql;
cmdRec.ExecuteNonQuery();
}
}
dr.close();
スレッドを使用して上記の機能を実装してプロセスを高速化し、レコードを順番に処理する代わりに、最大 25 のスレッドを並行して実行できるようにします。ただし、関数から戻り値を取得し、テーブルで同じ値を更新する必要があります。スレッドプールとタスク (.net 4.0) について読んだことがありますが、同じものを実装する方法がわかりません。サンプルコードを教えてください。