gpt4 book ai didi

java - 没有公共(public)对象的线程之间的线程间通信

转载 作者:行者123 更新时间:2023-11-30 03:47:19 24 4
gpt4 key购买 nike

我正在开发一个即时消息服务器,并且在任何给定时间,由于 n 个连接的客户端,我都会产生 n 个线程。在任何给定时间,任何给定的衍生线程都需要能够通过发送数据的方式与任何其他衍生线程进行通信(数据可以是任何内容,并不重要)。

我研究了队列和管道的解决方案;然而,它们都依赖于一个线程(例如主线程)来创建队列和/或管道对象,并将其传递给两个派生线程的构造函数。在我的场景中,我的所有线程没有任何共同点,并且不共享对内存中相同对象或类似对象的任何引用。

我怎样才能在两个线程之间建立某种通信 channel 来表现我所描述的行为?

最佳答案

我建议您需要创建一个“Broker”对象。线程将连接到该代理,该代理将保存对客户端的引用,以便它可以调用其上的回调方法。这是一种非常常见的模式,发布/订阅。

关于java - 没有公共(public)对象的线程之间的线程间通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25329650/

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