草庐IT

c# - 具有指定结果的任务并行库 WaitAny

我正在尝试编写一些代码来并行调用多个不同服务器的Web服务,因此TPL似乎是显而易见的选择。我的Web服务调用中只有一个会返回我想要的结果,而其他所有调用都不会。我正在尝试找到一种有效地拥有Task.WaitAny的方法,但只有在第一个匹配条件的Task返回时才解除阻塞。我尝试使用WaitAny但无法确定过滤器的放置位置。我做到了这一点:publicvoidSearchServers(){varservers=new[]{"server1","server2","server3","server4"};vartasks=servers.Select(s=>Task.Factory.St

c# - EventWaitHandle - WaitAny() 和 WaitOne() 之间的区别

我有3个线程,两个“worker”和一个“经理”。“工作人员”线程在EventWaitHandle上等待,“经理”线程将在增加其计数器后向EventWaitHandle发出信号。这些“工作”线程之间的唯一区别是一个使用EventWaitHandle.WaitAny()而另一个使用EventWaitHandle.WaitOne()。代码如下:classProgram{staticvoidMain(string[]args){MultiThreadedJobsmultyThreadedJobs=newMultiThreadedJobs();multyThreadedJobs.Start()