2010-11-12 17 views
4

由以下创建的线程是前台线程我应该如何创建后台线程?

Thread workingThread = new Thread(new ParameterizedThreadStart(DoJob)); 

我可以让线程创建的背景是什么?

+1

您应该正确地标题为“我应该如何创建后台线程?”,因为它会让其他程序员感到困惑。 http://stackoverflow.com/questions/4161133/background-or-foreground-thread – Searock 2010-11-12 05:21:22

回答

11

是的,你可以; System.Threading.ThreadIsBackground属性。

获取或设置一个值,该值指示线程是否为后台线程。

Thread workingThread = new Thread(new ParameterizedThreadStart(DoJob)) 
           { IsBackground = true }; 
3

尝试

workingThread.IsBackGround = true; 
1

试试这个代码: -

Thread.IsBackground = true 
1
new Thread(new ParameterizedThreadStart(DoJob)) { IsBackground = true }; 

应的IsBackground,不是的IsBackground

-1

我知道这是一个较旧的线程,但最实用的解决方案是如何创造新的主题是:

new Thread(() => NameOfYourMethod()) { IsBackground = true }.Start(); 

如果你需要创建paramerized主题,只是做简单的修改:

new Thread(() => NameOfYourMethod(param1, param2...)) { IsBackground = true }.Start(); 

而这一切,我希望它可以帮助别人:)

* 仅当您因某种原因不需要存储胎纹时才使用此功能。

+1

没有理由复制七年前已发布的答案*四次*。 – Servy 2017-05-11 18:36:19

+0

大声笑,我的答案是不重复的,我没有看到同样的答案上面没有。我知道所有说“IsBackground”,但每次必须创建新名称或使用旧的方法,在我的解决方案我使用最新的方法,没有任何名称声明。 – mareon 2017-05-12 17:41:39

+0

如果你没有看到这个问题的其他4个答案,然后考虑发布错误报告。 – Servy 2017-05-12 17:43:26

相关问题