3

我有一个计划检查器,它需要一直运行,直到用户按下一个键使其停止。

我对这样做的想法如下:

  1. 用户启动进程
  2. 进程每 10 秒运行一次
  3. 当进程没有运行时,Console.ReadLine(); 让用户可以选择按“q”来停止进程

我的方法可以正常工作,除非用户必须等待该过程完成所需的时间才能停止它。有什么方法可以在接受用户输入的同时同时运行该过程?

4

2 回答 2

3

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

于 2010-05-19T14:23:22.183 回答
3

也许BackgroundWorker可以提供帮助。

这是一个示例,它也使用取消。MSDN
上也有一个。

于 2010-05-19T14:37:41.720 回答