我正在寻找一种可配置的方式在后台线程上运行一些代码,我不太确定“最佳实践”是什么。目前我有一些沿线:如何可选地在后台线程上运行一些代码?
Dim sendEmails = Sub()
Dim emailToSend As New SendEmailRequest()
TransferCommonValuesTo(emailToSend, request, sendingUser)
usersToSendEmailTo.ForEach(Sub(u)
TransferValuesTo(emailToSend, u, m_EmailMessageMerger.GetMergedMessage(request.Message, u))
m_EmailSender.Send(emailToSend)
End Sub)
End Sub
If cfg.SendBulkEmailUsingBackgroundThread Then
Dim worker As New Thread(sendEmails)
worker.IsBackground = True
worker.Start()
Else
sendEmails()
End If
这是实施我的要求的好方法吗?
更新:
这将从ASP.NET前端被称为(尽管别人是可能的),我使用框架3.5。
“问题”的语气可能会更好地收到http://codereview.stackexchange.com/ – IAbstract
谢谢 - 我从来没有听说过codereview! – DanP
这是一个全部还是空白的情况,即对于整个应用程序,是否要配置线程打开或关闭? –