C#循环一个进程直到用户按下键

3
我有一个日程安排检查程序,需要一直运行,直到用户按键停止。我的思路如下:
  1. 用户启动进程
  2. 进程每10秒运行一次
  3. 当进程未运行时,Console.ReadLine(); 会给用户提供按“q”键停止进程的选项
我的方法可以很好地工作,但用户必须等待进程完成所需的时间才能停止它。有没有办法在同时运行进程的情况下接受用户输入?
2个回答

3

您可以在单独的线程上运行执行计划工作的进程。然后,主线程始终可以响应用户输入。另一方面,如果在其他进程运行时不能终止它,则最终结果不会有任何不同。整个应用程序将无法停止,直到该进程完成。但是,如果您随时可以终止其他进程,则多个(两个)线程可能很有效。


马克,太棒了。我会进一步研究多线程的主题,并希望构建一个可用的解决方案。 - sooprise
这里有一个更简单的答案,使用Console.KeyAvailable:https://dev59.com/questions/iWgu5IYBdhLWcg3wAigi - RedGreenCode

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接