为所有线程提供包含数据的共享流的最佳方法是什么? 如果我有一个与每个用户连接交互的线程,那么每个用户输入必须可用于所有线程。我们可以想象一个简单的聊天,每个人都看到每个人的消息。
所以我虽然我可以使用某种"共享流",我可以在这个流和用户输入套接字之间使用某种select()
,当我得到它时写在那里当有新的可用内容时,输入并从那里读取。我虽然有一些共享套接字,但它不会以这种方式工作,因为当第一个线程将从套接字读取数据时,它不再适用于其他线程。
那么实现这一目标的最佳和惯用方法是什么?