我有一个使用线程的窗口(C#)应用程序(只有 .exe 文件,没有代码)。如果我的应用程序已关闭,则意味着我没有使用该应用程序。此时线程是否正在工作?
我的问题是我在特定时间使用计时器线程类将文件从一个驱动器传输到另一个驱动器,在该特定时间应用程序关闭。
文件是否会传输?
我有一个使用线程的窗口(C#)应用程序(只有 .exe 文件,没有代码)。如果我的应用程序已关闭,则意味着我没有使用该应用程序。此时线程是否正在工作?
我的问题是我在特定时间使用计时器线程类将文件从一个驱动器传输到另一个驱动器,在该特定时间应用程序关闭。
文件是否会传输?
不,它不会。该线程是在应用程序中启动的,如果应用程序关闭,则其中的所有线程都将被杀死。
您在程序中启动的任何线程都会阻止应用程序终止,直到所有的线程都退出它们的线程 proc 函数,或者在它们上调用了 abort()。
要检查计时器线程类的确切工作方式,请运行位于 MSDN 上的演示代码
http://msdn.microsoft.com/en-GB/library/ms149618.aspx
正如人们所指出的那样,设置后台线程不会阻止应用程序终止,但是,将线程作为后台线程将无法实现操作想要的效果。
不,线程仅在您的应用程序正在运行时才存在。如果您希望在主应用程序退出后继续执行某些操作,则需要创建一个完全独立的后台进程(不仅仅是后台线程)