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

时间:2010-05-19 14:21:12

标签: c# input console-application readline

我有一个计划检查程序需要运行,直到用户按下某个键才能使其停止。

我对此的看法如下:

  1. 用户启动流程
  2. 流程每10秒运行一次
  3. 当进程未运行时,Console.ReadLine();使用户可以选择按“q”来停止该过程
  4. 我的方法可以正常工作,除非用户必须等待该过程完成所需的时间才能停止它。有没有办法在能够接受用户输入的同时运行该过程?

2 个答案:

答案 0 :(得分:3)

您可以在单独的线程上运行执行计划的进程。然后主线程始终可以响应用户输入。另一方面,如果你在运行时无法杀死其他进程,那么最终结果将没有任何不同。在该过程完成之前,整个应用程序将无法停止。但是,如果你可以随时杀死其他进程,那么多个(两个)线程可能会运行良好。

答案 1 :(得分:3)

也许BackgroundWorker可以提供帮助。

Here is一个例子,它也使用了取消 MSDN还有一个。