在Silverlight中,将导航远离包含线程的页面结束线程吗?

时间:2010-01-12 15:07:00

标签: c# silverlight multithreading

我有一个Silverlight 3项目。加载其中一个页面时,将创建并启动System.Threading.Thread对象。我想确保它在用户导航离开页面时终止。这会自动发生,还是我必须在OnNavigatingFrom事件中手动终止线程?

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

Thread对象可以被销毁,但它创建的进程线程将继续运行,直到它最初调用的方法返回。

因此,如果你在某个循环中有一些永远不会返回的代码,那么线程将继续,直到你做一些事情来中断该循环,无论你如何处理创建它的Thread对象。 IMO班级Thread有点不合时宜。

答案 1 :(得分:1)

不,即使没有引用,线程也会继续生存。

也许,您可以设置一个将该操作排入线程池的计时器,而不是使用一个线程(我只能假设它有重复操作)。退出页面后,计时器将停止执行操作,您将可以更好地控制系统。

相关问题