データセットに ReferenceID (文字列) のリストがあります。These ReferenceIDs can have values like this ("CQ1258891","CQ1258892","CQ1258893"....""CQ1258993"). 私のコードには、各 ReferenceID に対してメールを送信するロジックがあります。
今のところ、すべての ReferenceID を同期的にループしています。そのため、すべてのメールを送信するのに時間がかかります。私は .NET 3.0 を使用しているため、.NET 4.0 で TPL を使用するオプションがありません。
私は、すべての ReferenceID のメールを非同期的に送信するためのマルチスレッド メカニズムを探していました。現在、次のコードを試しましたが、期待どおりに動作しません。
foreach (DataRow row in qrefSet.Tables[0].Rows)
{
string refId = Convert.ToString(row["ReferenceID"]);
if (!string.IsNullOrEmpty(refId))
{
Thread thread = new Thread(() => apeDBAdapter.SendEmail(personId, refId, parentReferenceID, customerName, queueId));
thread.Start();
}
}
私の実装でマルチスレッド foreach ループを実現するための効果的なメカニズムを共有してください。
ありがとう、スリラム