2010-12-06 61 views
0

我使用RDP會話很多,並且我注意到即使連接的服務器速度很慢或崩潰,RDP窗口/工具欄本身也是完全響應/可點擊的。這可能是由於RDP窗口是一個過程,而實際的服務器是獨立的 - 或者不是?當其他部分不是這樣時,我該如何保持應用程序的一部分響應?

在應用程序中是否有一種技術可以實現這種流動性?

感謝

+0

我沒有使用RDP很多,但我認爲工具欄正在由客戶端處理,而不是服務器。這就是爲什麼即使服務器沒有響應也是如此。 – cHao 2010-12-06 23:18:52

回答

0

可以做,以保持UI響應的最重要的事情是儘量減少工作的,你在UI線程完成的工作量。這意味着您必須執行的任何主要處理都會產生一個線程(或使用線程池)來卸載工作,以便UI線程可以返回到處理UI。

+0

事件線程(處理UI操作和重繪)不應該每秒鐘停止超過1/10。 – seand 2010-12-07 03:44:55

0

它可能不是兩個單獨的進程,而是兩個獨立的線程。線程有點像一個子進程。

有些應用程序使用多個進程,如Windows資源管理器和Google Chrome。每個窗口或標籤都有獨立的進程。有一個進程顯示它,但是單獨的進程管理他們的內容。這主要是因爲可能的不穩定性。當進程崩潰時,整個應用程序將關閉,包括其所有線程。通過將邏輯放在單獨的進程中,應用程序在其中一個窗口崩潰時保持活動狀態。編寫多線程應用程序有點困難,但開發像這樣的多進程單窗口應用程序要困難得多。

相關問題