我有一个计划检查器,它需要一直运行,直到用户按下一个键使其停止。
我对这样做的想法如下:
- 用户启动进程
- 进程每 10 秒运行一次
- 当进程没有运行时,Console.ReadLine(); 让用户可以选择按“q”来停止进程
我的方法可以正常工作,除非用户必须等待该过程完成所需的时间才能停止它。有什么方法可以在接受用户输入的同时同时运行该过程?
我有一个计划检查器,它需要一直运行,直到用户按下一个键使其停止。
我对这样做的想法如下:
我的方法可以正常工作,除非用户必须等待该过程完成所需的时间才能停止它。有什么方法可以在接受用户输入的同时同时运行该过程?
您可以在单独的线程上运行执行计划工作的进程。然后主线程可以始终响应用户输入。另一方面,如果你不能在另一个进程运行时杀死它,最终的结果不会有任何不同。在该过程完成之前,整个应用程序将无法停止。但是,如果您可以随时终止另一个进程,那么多个(两个)线程可能会很好地工作。
也许BackgroundWorker可以提供帮助。