繁体   English   中英

这是Task Parallel Library的好用例吗?

[英]Is this a good use case for Task Parallel Library?

我有一种情况,需要一些建议。 我打电话给Twitter以获得转发,回复,喜欢和类似的东西。 Twitter当然会限制您的通话费用,因此我需要加快通话速度。 而且由于不想让一个用户被锁定而等待很长时间,因为我仍然想继续与其他用户互动,所以我认为我应该使用多个线程。 作为实验,我尝试了并行任务库,例如:

Task.Factory.StartNew(() => Parallel.ForEach<BatchJob>(jobsToProcess, job =>
{
    //call Twitter here
}); 

从测试来看,这似乎在消耗大量CPU并冻结了整个系统。 我的问题是:这是否适合使用并行任务? 我不需要等待一项任务完成就可以开始另一项任务。 它们都可以同时运行。 换句话说,任务不相互依赖。

如果在webApp的上下文中,您的呼叫将丢失。 请查看构建2013的会议,他们在其中解释原因。 如果它是桌面应用程序,则只要您使用“ dispatcher”对象来更新视觉效果,它就应该可以工作。

我不喜欢使用“ task.factory”,而是我自己,但是我更喜欢使用语法“ new task(()=> {...})

编辑:没有并行任务不会改变任何事情。

它是评论,找不到评论链接

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM