如何在后台按顺序运行一系列方法

本文关键字:运行 一系列 方法 顺序 后台 | 更新日期: 2023-09-27 17:56:23

在我正在开发的程序中,查询设备,为简单起见,假设这是一个慢速网络请求,响应可能需要 200 毫秒。 我需要程序在后台一遍又一遍地查询 5 件事,并使用从这些请求中获得的响应更新 UI。 有时,用户给出的命令将导致另一个网络请求。 它将需要完成此任务,然后继续一遍又一遍地执行之前所做的 5 件事。

这实际上不是一个网络请求,所以它的一个限制是这些请求不能重叠,一次只能发生一个,所以我不能只剥离一堆线程。

我目前的想法是设置某种伪编码的队列,如下所示:

DoTaskA();
DoTaskB();
DoTaskC();
DoTaskD();
DoTaskE();
RequeueTasksABCDE();

然后添加用户命令的请求,可能在DoTaskE()之后,但在RequeueTasksABCDE()之前发生。

根据我到目前为止的研究,我正在考虑使用BlockingCollection作为队列,但这是好方法吗? 任何协助将不胜感激。

如何在后台按顺序运行一系列方法

您可以通过创建新的工作线程并在工作线程中运行函数来实现此目的。