我正在開發一個程序,它是一個綁定到GUI管理界面的UDP服務器。 UDP服務器作爲自己的類運行並實現Runnable
接口。在Java線程之間共享數據
我決定設計程序的最佳方式是讓UDP服務器作爲後臺線程運行,並在事件發生時更新GUI(例如用戶成功驗證服務)。
我不太清楚用什麼數據結構來傳遞線程之間的信息,當GUI線程沒有等待(本身)這個信息時,它也在執行其他任務。我看到一些類似Futures
,但這些只告訴你什麼時候完成任務(這裏不是優先事項)和BlockingQueue
接口,但使用Queue
解決方案好像我必須反覆輪詢隊列,直到信息是推送到它上面,然後根據什麼信息被推入到隊列中來做出反應。
是否有一個數據結構,我可以用它將數據從服務器「發送」到GUI,以便它可以相應更新?
它有助於提及你正在使用的GUI框架(例如Swing,SWT等),但大多數GUI框架提供一種從其UI處理程序應該在UI線程上運行的非UI線程觸發自定義事件的方法。 – Wyzard
我正在使用Swing,如果可用,這聽起來像是一個很好的解決方案。 – ahjohnston25