我有一个情况,需要一些建议。我打电话给推特转发,回复,喜欢和类似的东西。当然,Twitter的费率会限制你的通话,所以我需要拨出电话。而且由于我不想等待很长时间,如果一个用户被锁定,因为我仍然想继续为其他用户进行约会,我想我应该使用多个线程。作为一个实验,我尝试了并行任务库,如:
Task.Factory.StartNew(() => Parallel.ForEach<BatchJob>(jobsToProcess, job =>
{
//call Twitter here
});
从测试来看,这似乎占用了大量的CPU并冻结了整个系统。我的问题是:这是否适合使用Parallel任务?我不需要等待一个任务完成另一个任务。它们都可以同时运行。换句话说,任务不依赖于彼此。
答案 0 :(得分:1)
如果它位于webApp的上下文中,您的通话将会丢失。请查看2013年构建的会话,其中解释了原因。如果它是桌面应用程序,只要您使用“dispatcher”对象来更新视觉效果,它就应该可以正常工作。
我不喜欢使用“task.factory”,它只是我,但我更喜欢语法“new task(()=&gt; {...})
编辑:没有并行任务不会改变一件事。
这意味着评论,找不到评论链接