如何使用多线程(Parallel ForEach)和批处理?或者我应该以不同方式处理它?

时间:2015-01-28 22:03:28

标签: vb.net multithreading

我正在创建一个发送批量电子邮件的应用,但我对批处理,多线程或处理它的最佳方式缺乏了解。

说我做这样的事情:

Dim options as New ParallelOptions
options.MaxDegreeOfParallelism = Environment.ProcessorCount * 10

Parallel.ForEach(recipients.AsEnumerable(), options, _
    Function(row)
        Return SendEmail(args)
    End Function)

如果有大量电子邮件怎么办?我在考虑添加一个批处理选项,但不确定它是否有用。因此,如果我有500,000个订阅者,这个并行循环是否会变得不稳定?在某些时候应该暂停还是睡觉?在考虑电子邮件时,我想到了“Batch =#”,但我不确定如何将这个概念变成这样的多线程,或者我应该做一些完全不同的事情。

如果处理不当,我听说过被列入黑名单

0 个答案:

没有答案