这是一个普遍的问题,因为我一直在阅读MSDN C#教程/演练。我也在这里查看了一些帖子,但想要一个更一般的答案。
我刚刚阅读了异步编程部分,似乎使用async,await和tasks是在保持UI响应性的同时运行内容的建议方法之一。
我正在编写一个C#程序来控制机器人完成某些任务。例如,程序将具有用户设置的主UI,然后当它们点击“RUN”时,它将经历一系列任务然后完成。如果我不使用任何异步或并行编程,UI将挂起直到完成。
我的问题是,处理这些情况的典型方法是什么?根据我读过的内容,我可以在C#中执行以下操作:
将我的每个同步操作作为任务运行,并等待它们在“RUN”处理程序中完成 - 例如:
$articles = Article::with('user')->get();
这是最好的方法吗?如果你想象我有很多机器人动作要做,我必须创建很多任务来执行每个动作,同时保持UI响应。每个任务都有最小的计算要求,并且会很快完成,但我不确定这是不是很好的做法。
另外,出于好奇,在C ++中执行此操作的标准方法是什么?