我有一种方法可以向设备发送3个Web请求,这会使其发送一条短信。 2个第一个请求分别设置了短信收件人和邮件正文。第三次触发派遣。同步的“呼叫定制感知”方法返回值
很明显,这种方法必须同步,因为竞争将彻底搞乱短信配置过程。
这当然是非常漂亮的解是这样的:
private object _smsLock
private bool SendSmsSync(string recipientNumber, string body)
{
lock(_smsLock)
{
// 3 web requests are sent here
// false is returned if something goes wrong
return true;
}
}
然而,这种解决方案的缺点是,我们必须在同时呼叫将进行的顺序完全没有控制。
包含Queue,ManualResetEvents和线程的大量代码当然可以做到。但我仍然想知道是否有人知道更简单的方法来做到这一点。
讨论:)
谢谢你带领我走向System.Threading.Tasks,这是我从来没有听说过(可耻的是我!) 。 – 2011-01-07 03:22:34
@Remy:顺便说一句,如果你想要的细节,我有一个关于TPL(和相关命名空间)的** long **系列:http://reedcopsey.com/series/parallelism-in-net4/ – 2011-01-07 22:21:13