1
嘗試使用TcpClient和TcpListener類以及某些原因,當我有幾個線程正在運行時,我關閉了表單,但該過程並未結束,但窗體消失了。當我關閉表單時,應用程序沒有結束? (C#)
我必須用VS IDE或任務管理器手動終止進程。
當我關閉程序但程序沒有結束時,表單中沒有任何內容仍在運行。我在任何地方插入斷點,甚至控制檯輸出顯示線程已退出。
任何人都知道這裏發生了什麼?
嘗試使用TcpClient和TcpListener類以及某些原因,當我有幾個線程正在運行時,我關閉了表單,但該過程並未結束,但窗體消失了。當我關閉表單時,應用程序沒有結束? (C#)
我必須用VS IDE或任務管理器手動終止進程。
當我關閉程序但程序沒有結束時,表單中沒有任何內容仍在運行。我在任何地方插入斷點,甚至控制檯輸出顯示線程已退出。
任何人都知道這裏發生了什麼?
您的應用程序的主線程正在等待您生成的線程完成。您可以將您的線程的IsBackground
屬性設置爲true
所以他們不從終止停止你的流程:
從MSDN:
線程或者是後臺線程或前臺線程。 後臺線程與前臺線程相同,但 後臺線程不會阻止進程終止。一旦所有屬於進程的前臺線程都終止,公共的 語言運行時就會結束進程。任何剩餘的後臺線程 已停止並且未完成。
謝謝! [字符] –