首页 > 解决方案 > 线程、任务、状态,需要帮助选择正确的

问题描述

我需要一些帮助来选择正确的工具。我正在用树莓派替换控制一些泵的硬件控制器,并在 c# .netcore 中为其编写代码。泵应按特定顺序运行并持续特定的持续时间。通过所有可能的方法来实现这一点,我正在寻找最干净和有趣的方法。

泵应执行以下操作:

我查看了计时器、线程、任务、状态机,但我很难为这项工作选择合适的工具。在任何时候,我还需要能够立即停止所有泵。

谢谢你的帮助。

标签: c#.net-core

解决方案


我可能会带着任务去。

public async Task Execute()
{
    await TurnOnPump1();
    await Task.Delay(TimeSpan.FromSeconds(15));
    await TurnOnPump2();
    await Task.Delay(TimeSpan.FromMinutes(10));
    await TurnOnPump3();
    //And so on..
}

推荐阅读