我正在开发一个控制台应用程序,它启动了一个相当长的运行过程(2-3分钟)。有哪些选项可用于显示进度,甚至只需写一个“”。每隔几秒钟进行一次筛选,这样用户就知道应用程序没有停止响应?我是桌面开发的新手,所以请耐心听我说。谢谢!
发布于 2012-01-07 08:56:33
你有(至少)3种方法可以做到这一点:
。在你的工作线程中增加它,只要有一些进展,在控制台写入器线程上减少间隔到250ms,但是只有在进度计数器改变的情况下才画一个点。这给出了一个关于你的应用程序进度有多快的想法一个有点先进的方法:创建一个布尔值,就像第一步中的那样加上一个AutoResetEvent,让控制台编写器线程重复等待事件,当应用程序使
发布于 2012-01-07 08:56:11
最简单的方法是,如果您的应用程序有一个增量循环,那么您可以在控制台上放置一个简单的句号。不是很好,但它确实给出了“我还活着”的暗示。
但是,这种方法可能会导致太多的信息(太多的字符进入控制台)或太少,因为您钩住了一点代码,而这些代码实际上并没有责任。
因此,您可以重用的一种更好的方法是创建一个控制台用户类,它在一个线程中运行,运行时间为1秒。它可以使用退格和好的旧的|/|/-序列来给人一种旋转的感觉。它还可以检查按键是否允许用户退出。
另一种选择是使用像NLog这样的日志记录框架,这取决于用户的性质。这样,您的实现是独立于UI的,并且您可以或多或少地在运行时在控制台、从另一台机器或其他机器中查看正在发生的事情。
https://stackoverflow.com/questions/8766316
复制相似问题