我對C#很新,所以請耐心等待。我正在開發一個由事件驅動的服務器線程和一個GUI線程組成的小型服務器應用程序。我想讓GUI和服務器「獨立」(不使用兩個進程)。獨立我的意思是,一旦GUI啓動,它會檢查服務器線程是否正在運行,如果不是它創建它,否則只是通知服務器線程GUI線程處於活動狀態。並且該GUI線程可以退出並保持服務器線程活着。GUI +線程,GUI退出線程停留 - >如何在GUI再次啓動時檢測線程?
僞代碼:
GUI starts
{
if (serverThread.isRunning)
notify serverThread that GUI is active
else
create and start serverThread
}
GUI exits
{ notify serverThread that GUI is going to be terminated; exit GUI }
棘手的部分是如何重新啓動GUI,並通知服務器GUI還活着。
現在我所做的只是:啓動GUI和內部GUI創建線程serverThread並啓動它。離開GUI服務器後,線程保持活動狀態,但我不知道如何在GUI再次啓動時獲取對serverThread的引用。
通過單擊圖標啓動GUI。
謝謝你的時間和答案。
使用兩個過程是最自然的解決方案,從長遠來看,它會讓事情變得容易得多。你爲什麼不想這樣做? – Jon 2011-03-28 14:10:01
因爲我認爲它會使通信和更新GUI更有問題。 – Ben 2011-03-28 14:13:25