.net Silverlight 4RC线程-新线程能否返回UI线程

.net Silverlight 4RC线程-新线程能否返回UI线程,.net,silverlight,.net-4.0,multithreading,silverlight-4.0,.net,Silverlight,.net 4.0,Multithreading,Silverlight 4.0,假设我在Silverlight中有一个情况,有一个后台线程(保证不是UI线程)正在做一些工作,它需要创建一个新线程。大概是这样的: //running in a background thread Thread t = new Thread(new ThreadStart(delegate{}); t.Start(); 也可以说,UI线程在这个特定的时间只是无所事事 请记住,我对Silverlight线程模型不是很了解,调用new Thread()会给我提供UI线程吗 动机或者我想要达到的目标

假设我在Silverlight中有一个情况,有一个后台线程(保证不是UI线程)正在做一些工作,它需要创建一个新线程。大概是这样的:

//running in a background thread
Thread t = new Thread(new ThreadStart(delegate{});
t.Start();
也可以说,UI线程在这个特定的时间只是无所事事

请记住,我对Silverlight线程模型不是很了解,调用
new Thread()
会给我提供UI线程吗

动机或者我想要达到的目标并不重要——我不想修改现有的代码。我只是想知道是否有可能意外地恢复UI线程


干杯

不,不可能
new Thread()
将成为一个新线程,不管其他线程在做什么。

不,这是不可能的
new Thread()
将成为一个新线程,不管其他线程在做什么。

好, 因此,我想问题可能归结为Silverlight UI线程是否可能在我调用“new thread()”时分配线程的线程池中

我已经做了相当多的搜索,但无法找到Silverlight线程实际工作原理的确切答案。(存在相当多的意见,但它们似乎并不总是一致)
然而,silverlight似乎正在使用线程池,因此调用“new thread()”可能并不总是创建新线程(可以从池中分配一个现有线程),这取决于池的管理/老化方式等。

我在一些博客中看到,线程甚至可能依赖于silverlight应用程序所在的浏览器?

好, 因此,我想问题可能归结为Silverlight UI线程是否可能在我调用“new thread()”时分配线程的线程池中

我已经做了相当多的搜索,但无法找到Silverlight线程实际工作原理的确切答案。(存在相当多的意见,但它们似乎并不总是一致)
然而,silverlight似乎正在使用线程池,因此调用“new thread()”可能并不总是创建新线程(可以从池中分配一个现有线程),这取决于池的管理/老化方式等。


从我看到的一些博客中,线程甚至可能依赖于silverlight应用程序所在的浏览器?

否,即使silverlight UI线程处于空闲状态,该线程上仍有消息循环在运行,等待UI事件。因此,UI线程始终在运行,线程池永远不会返回它。

否,即使silverlight UI线程处于空闲状态,该线程上仍有消息循环在运行,等待UI事件。所以UI线程总是在运行,线程池永远不会返回。

到目前为止听起来不错,这就是我所希望的,我问的原因是我的团队中有人认为线程是可重用的。

到目前为止听起来不错,这就是我所希望的,我问这个问题的原因是,我的团队中有人认为线程是可重用的。澄清Silverlights线程模型的额外分数:)澄清Silverlights线程模型的额外分数:)