我在数据集中有 ReferenceID(字符串)列表。这些 ReferenceID 可以具有这样的值 ("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 循环的有效机制。
谢谢,斯里拉姆