我正在開發一個內部連接到服務器的GUI應用程序。用戶可以使用GUI應用程序發送請求並在連接後從服務器獲取數據。GUI應用程序中的事件處理線程C++
首先,我們使用單線程設計,點擊按鈕時,應用程序解析接收到的事件,並相應地向服務器發送請求以獲取所需的數據。
在這一點上,我們還在做原型機的工作,但在這種工作方式在想下面的變化 -
有當用戶點擊一些東西,接收事件的事件處理線程。
此線程將處理事件並調用相應的函數並向服務器發送請求。 (所有這些都將發生在事件處理程序線程的上下文中)
如何處理應用程序仍在等待服務器數據時收到的事件?我正在考慮讓事件處理程序線程拒絕前一個正在進行的請求併爲接收到的新事件提供服務。 從用戶的角度來看,當用戶點擊一個新的按鈕,當前一個按鈕還在等待響應時,我們應該轉儲我們之前做的事情並處理新的按鈕點擊。
請對此發表評論。這是我第一次在客戶端應用程序上工作,並請求您輸入這個。
您可以簡單地在另一個線程中發送請求。 – ikh 2014-08-31 13:22:43
對於您的應用程序來說,忽略第一次調用服務器的結果是恰當的,即像Web瀏覽器一樣,不存在忽略它的副作用。 – Steve 2014-08-31 13:22:49