我有一个Silverlight 3项目。当加载其中一个页面时,将创建并启动一个System.Threading.Thread对象。我想确保它在用户离开页面时终止。这是否会自动发生,还是必须手动终止OnNavigatingFrom事件中的线程?在Silverlight中,将从包含线程的页面导航离开线程结束?
感谢您的任何帮助。
我有一个Silverlight 3项目。当加载其中一个页面时,将创建并启动一个System.Threading.Thread对象。我想确保它在用户离开页面时终止。这是否会自动发生,还是必须手动终止OnNavigatingFrom事件中的线程?在Silverlight中,将从包含线程的页面导航离开线程结束?
感谢您的任何帮助。
Thread
对象可以销毁,但它创建的进程线程将继续运行,直到它最初调用的方法返回。
因此,如果您在某个循环中有一些代码从不返回,那么该线程将继续执行,直到您执行某些操作来中断该循环为止,而不管您对创建它的Thread对象做了什么。 IMO类Thread
是一个误点。
不,即使没有对它的引用,线程也会继续存在。
也许,而不是使用一个线程(我只能假设有一个重复操作),您可以设置一个计时器,将该操作排队到线程池。一旦您退出页面,计时器将停止执行操作,您将可以更好地控制系统。