提问人:Tutu ツ 提问时间:11/14/2023 更新时间:11/14/2023 访问量:40
使用 tokio rust 共享线程之间的 TCP 连接(多路复用器)
Share TCP Connection between threads with tokio rust (Multiplexor)
问:
我想知道是否有办法在不同线程之间共享相同的 tcp 连接而无需阻止它。
出现的问题是,如果在其中一个线程被阻止写入或读取时,不同的线程与 共享相同的连接,则另一个线程将无法与此 TCP 连接交互,因为它被阻止。有没有办法避免这种情况,而不需要为每个线程创建连接?在线程很少的服务器中,它可以工作,但是当我们尝试扩展时,我们不希望连接数与线程数一样多。clone()
例如,在 rabbitMQ 中,您可以通过不同的通道共享相同的 tcp 连接,因此不同的线程可以与该 tcp 连接与服务器通信,因为它们在该 tcp 连接上具有独立的通道。
Tokio 是否有任何功能或属性允许这样做?是否有任何其他库能够共享来自此独立通道的 TCP 连接以避免阻塞?
答: 暂无答案
评论