使用Reactive并行运行方法晕,一直在找RX框架的解决方案。我的C#4.0类将调用2种不同的方法,为了节省时间,我想并行执行。有没有办法使用ReactiveFramework并行运行2种不同的方法?您不仅并行运行这两个方法,而且您等待另一个方法完成并合并两个结果。下图显示了一个示例:AccountClassac=newAccountClass();stringval1=ac.Method1();boolval2=ac.Method2();如何并行运行这两种方法并等待对方完成并将结果合并?varresult=Observable.Zip(Observable.Start(()=>callMethodOne()),Observable.Start(()=>callMethodTwo()),(一,二)=>new{一,二});结果。订阅(x=>Console.WriteLine(x));您可以使用zip方法来实现所需的行为。类似于RuiJarimba,但更简洁;字符串val1=null;布尔值2=假;动作action1=()=>{val1=ac.Method1();};动作action2=()=>{val2=ac.Method2();};Parallel.Invoke(newParallelOptions(),action1,action2);试试这个:使用System.Threading.Tasks;字符串val1=null;布尔值2=假;varactions=newList();动作。添加(()=>{val1=ac.Method1();});actions.Add(()=>{val2=ac.Method2();});Parallel.Invoke(newParallelOptions(),actions.ToArray());//替代方案-使用Parallel.ForEach://Parallel.ForEach(actions,action=>action());//其余代码在这里.....有用链接:http://tipsandtricks.runicsoft.com/CSharp/ParallelClass.html以上是C#学习教程:使用Reactive并行运行。整理自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
