2010-11-12 49 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

相關問題