【发布时间】:2012-12-27 17:03:15
【问题描述】:
我有一个场景,我想跟踪我的控制台应用程序是活着还是死了(由于异常等)。
当控制台应用程序执行它的处理时,我希望有一个机制,它有一个计时器,它在每 N 分钟后继续调用一个报告方法,这个被调用的方法会更新数据库中的时间戳。
所以:
1 - Console application starts
2 - Reports time stamp
3 - Keeps on doing its task (while in parallel it reports again after N seconds)
我知道我可以生成一个线程并让它在“N”分钟后休眠并再次唤醒,但这是多么可靠,因为线程可能在资源空闲之前不会触发,并且“N”分钟可能不再有效,因为线程将在自己的时间触发。
如何确保在处理过程中并行完成报告?
【问题讨论】:
-
你的想法是对的,你只需要确保 N 明显小于任何检查它的值。比如每分钟更新一次数据库,但是每5分钟才检查一次,最后5分钟内的任何时间戳都是有效的。
标签: c# multithreading console-application