在java线程之间共享数据

时间:2014-02-28 21:38:18

标签: java multithreading data-structures

我正在开发一个程序,它是一个绑定到GUI管理界面的UDP服务器。 UDP服务器作为自己的类运行,并实现Runnable接口。

我认为设计程序的最佳方法是让UDP服务器在后台运行为线程,并在事件发生时更新GUI(例如,用户成功对服务进行身份验证)。

我不太确定当GUI线程没有等待(本身)此信息时,用于在线程之间传递信息的数据结构,因为它也在执行其他任务。我见过像Futures这样的类,但是这些只告诉你什么时候完成任务(这里不是优先考虑)和BlockingQueue接口,但使用Queue解决方案似乎我必须重复轮询队列,直到信息被推到它上面,然后根据推送到队列上的信息做出反应。

我是否可以使用数据结构将数据从服务器“发送”到GUI,以便相应地更新?

2 个答案:

答案 0 :(得分:1)

如果我很清楚,你可以使用Observer pattern。还要检查Observable类或模型 - 视图范例的其他变体。

答案 1 :(得分:0)

“BlockingQueue接口,但是使用Queue解决方案似乎我必须重复轮询队列,直到信息被推到它上面,然后根据推送到队列上的信息做出反应”

我希望您知道使用BlockingQueue您的代码中没有轮询,它在内部完成了JAVA Api

相关问题