2011-09-17 71 views
1

嘗試使用TcpClient和TcpListener類以及某些原因,當我有幾個線程正在運行時,我關閉了表單,但該過程並未結束,但窗體消失了。當我關閉表單時,應用程序沒有結束? (C#)

我必須用VS IDE或任務管理器手動終止進程。

當我關閉程序但程序沒有結束時,表單中沒有任何內容仍在運行。我在任何地方插入斷點,甚至控制檯輸出顯示線程已退出。

任何人都知道這裏發生了什麼?

回答

3

您的應用程序的主線程正在等待您生成的線程完成。您可以將您的線程的IsBackground屬性設置爲true所以他們不從終止停止你的流程:

MSDN

線程或者是後臺線程或前臺線程。 後臺線程與前臺線程相同,但 後臺線程不會阻止進程終止。一旦所有屬於進程的前臺線程都終止,公共的 語言運行時就會結束進程。任何剩餘的後臺線程 已停止並且未完成。

+0

謝謝! [字符] –

相關問題