繁体   English   中英

在Java线程之间共享数据

[英]Share data between java threads

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

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

我不太确定当GUI线程本身不执行其他任务时,GUI线程本身不等待该信息时,要使用哪种数据结构在线程之间传递信息。 我已经看过一些诸如Futures类的类,但是这些类仅告诉您任务何时完成(此处并不是真正的优先级)和BlockingQueue接口,但是使用Queue解决方案似乎需要反复轮询Queue,直到获得信息为止。推送到队列上,然后根据推送到队列的信息做出反应。

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

如果我很了解,可能可以使用Observer模式 还要检查Observable类或模型视图范例的其他变体。

“ BlockingQueue接口,但是使用队列解决方案似乎必须反复轮询队列,直到将信息推送到队列上,然后根据将哪些信息推送到队列做出反应”

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM