首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Silverlight 4RC线程-新线程是否可以返回UI线程

Silverlight 4RC线程-新线程是否可以返回UI线程
EN

Stack Overflow用户
提问于 2010-03-26 12:53:28
回答 3查看 839关注 0票数 0

假设我在Silverlight中有一个情况,其中有一个后台线程(保证不是UI线程)正在做一些工作,它需要创建一个新线程。如下所示:

代码语言:javascript
复制
//running in a background thread
Thread t = new Thread(new ThreadStart(delegate{});
t.Start();

我们还可以说,UI线程在这个特定的时刻只是闲置着,什么也不做。

请记住,我对Silverlight线程模型并不了解,new Thread()调用会给我UI线程带来危险吗?

动机或我试图实现什么并不重要-我不想修改现有的代码。我只想知道是否有可能意外地取回UI线程。

干杯

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-03-26 12:57:51

不,这不可能。无论其他线程在做什么,new Thread()都将是一个新线程。

票数 2
EN

Stack Overflow用户

发布于 2010-03-26 13:25:24

好吧,所以我猜问题可能会归结为当我调用"new Thread()“时,Silverlight UI线程是否可能在线程池中,线程是从线程池中分配的。

我做了相当多的搜索,但在Silverlight线程的实际工作原理上找不到明确的答案。(有相当多的观点,但它们似乎并不总是一致的)。

然而,看起来silverlight正在使用一个线程池,因此调用“new thread ()”可能并不总是创建一个新的线程(您可以从池中分配一个现有的线程),这取决于池的管理/老化等方式。

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

票数 1
EN

Stack Overflow用户

发布于 2011-07-20 18:26:42

不,即使silverlight UI线程空闲,也会有消息循环在该线程上运行,等待UI事件。所以UI线程总是在运行,并且永远不会被线程池返回。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2521210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档