我正在开发一个程序,它是一个绑定到GUI管理界面的UDP服务器。 UDP服务器作为自己的类运行,并实现Runnable
接口。
我认为设计程序的最佳方法是让UDP服务器在后台运行为线程,并在事件发生时更新GUI(例如,用户成功对服务进行身份验证)。
我不太确定当GUI线程没有等待(本身)此信息时,用于在线程之间传递信息的数据结构,因为它也在执行其他任务。我见过像Futures
这样的类,但是这些只告诉你什么时候完成任务(这里不是优先考虑)和BlockingQueue
接口,但使用Queue
解决方案似乎我必须重复轮询队列,直到信息被推到它上面,然后根据推送到队列上的信息做出反应。
我是否可以使用数据结构将数据从服务器“发送”到GUI,以便相应地更新?
答案 0 :(得分:1)
如果我很清楚,你可以使用Observer pattern。还要检查Observable类或模型 - 视图范例的其他变体。
答案 1 :(得分:0)
“BlockingQueue接口,但是使用Queue解决方案似乎我必须重复轮询队列,直到信息被推到它上面,然后根据推送到队列上的信息做出反应”
我希望您知道使用BlockingQueue您的代码中没有轮询,它在内部完成了JAVA Api