gpt4 book ai didi

java - Java中的通知系统

转载 作者:行者123 更新时间:2023-11-29 07:08:39 26 4
gpt4 key购买 nike

我正在为我的系统构建一个 API,它接收 UDP 消息并解析它们。现在我需要将这些更改通知开发人员。

目前我有两种实现方式,但我不确定哪一种更好,是否还有其他选择。

解决方案 A ArrayBlockingQueue

它似乎在空闲时不消耗任何电量。在 API 方面,我会创建一个静态数组并在我想通知新更改时向其添加消息。因此,在开发人员方面,我可以将其放入线程中以监听任何新消息。用户将获取消息,检查其类型和属性等。

解决方案 B 回调

我相信这个解决方案会更漂亮、更有条理。我只是创建一个包含所有可能的通知类型的接口(interface),然后开发人员可以实现这个接口(interface)。在 API 端,我有一个相同监听器的 HashMap ,以便 API 可以通知超过 1 个相同类型的监听器。

还有什么想法或建议吗?

最佳答案

对于任何基于事件的系统,异步解决方案都是首选。正如您所注意到的,它比阻塞解决方案更轻量级,阻塞解决方案每个事件接收器都需要一个线程。所以方案B更受青睐。

不过,需要注意的一件事是线程问题:您将在自己的线程中调用回调,因此回调实现者必须准备好处理该问题。回调代码不能假定它在任何特定线程上执行;它也可以每次在不同的线程上执行。

关于java - Java中的通知系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16650334/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com