我正在寫一個GUI應用程序。如何正確關閉創建多個線程的C#應用程序?
應用程序在其生命週期中打開多個線程。其中一個線程是處理可能來自其他應用程序的事件,所以它正在等待一段時間(true)循環中的事件,該事件從未終止。
用戶可以在任何時間關閉應用程序。我想關閉主應用程序打開的所有線程。我使用Process.GetCurrentProcess()。Kill();}。目前正在處理這個問題。
這是一個很好的解決方案嗎?如果沒有,爲什麼以及如何處理這個問題的正確方法,如何關閉主應用程序打開的所有線程?
你應該避免'while(true)'的閒置工作。至少要增加一個「Sleep(100)」,讓你的CPU有一些喘息的空間。查看一些免費的書籍,如http://www.albahari.com/threading/或http://www.csharpcourse.com/,瞭解如何在不做空閒工作的情況下保持線程正常運行的細節。 – ja72 2010-10-15 19:03:20
while(true)循環等待事件。由於它有一個阻塞的waitOne(),它不會殘酷地使用我的cpu。 – Alex 2010-10-16 11:03:23