gpt4 book ai didi

java - 在 Java 中轮询对象以获取数据

转载 作者:行者123 更新时间:2023-12-02 05:47:14 26 4
gpt4 key购买 nike

我有许多连接到远程计算机的 PacketConnection 对象。每个PacketConnection 都有接受Packets 的线程安全(同步)读写方法。其他类不应访问封闭的流。

我希望当PacketConnection 有数据要读取时连接的所有者得到通知(它可以阻塞直到发生事件;在 while 循环中旋转 CPU 显然是不需要的)。然后,所有者将要求适当的对象读取并返回一个数据包

实现这一目标最理想的方法是什么?

最佳答案

使用 Java NIO 访问“选择器”功能来告诉您哪些套接字有可以读取的数据。 SocketChannel代表一个可选择的Socket。然后,您可以在 Selector 上调用 select()确定是否有任何套接字可读;如有必要,您可以提供选择超时。

关于java - 在 Java 中轮询对象以获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23945920/

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