我已经阅读了几个问题,但涉及Windows Forms应用程序。表单应用程序具有在关闭时调用的函数,这使得在应用程序终止时可以轻松处理对象。我有一个基于事件的控制台应用程序,它将在系统的后台运行,类似于服务。结束程序的唯一方法是通过任务管理器结束该过程。我通过在main()中的所有逻辑之后调用Console.Read并隐藏控制台以使其无限期运行来完成此操作。
我有一个Timer对象,我想确保被处理掉,但由于我的程序没有正式退出,我不知道在哪里处理它。是否可以让操作系统处理它,因为只有一个类依赖它?我已经读过覆盖finalize()函数是危险的,并且不想做任何太棘手的事情。我的应用程序只有一个实例在很长一段时间内运行(直到系统关闭或直到我推出更新)。
答案 0 :(得分:1)
当你要杀死进程时,没有任何代码可以处理计时器,但你不必担心它。
当进程停止时,其内存空间中的所有内容都会消失。该进程在单独的虚拟内存空间中运行,并且在进程停止时将删除整个内存空间。