我有一个计划检查器,它需要一直运行,直到用户按下某个键使其停止。
我的想法如下:
- 用户启动进程
- 进程每 10 秒运行一次
- 当进程未运行时,Console.ReadLine();为用户提供按“q”停止进程的选项
我的方法可以正常工作,除非用户必须等待该过程完成需要多长时间才能停止它。有什么方法可以在接收用户输入的同时运行该流程?
最佳答案
您可以在单独的线程上运行执行计划工作的进程。然后主线程可以始终响应用户输入。另一方面,如果您不能在其他进程运行时将其杀死,最终结果也不会有任何不同。在该过程完成之前,整个应用程序将无法停止。但是,如果您可以随时终止另一个进程,那么多个(两个)线程可能会很好地工作。
关于C# 一遍又一遍地循环一个过程,直到用户按下一个键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2866347/