gpt4 book ai didi

Java - 如何使用不同的类对象多次调用具有无限运行循环的函数?

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

我有一个类(例如UDPData),它有一个方法(例如getData())。该函数有 while 循环无限循环运行以继续监听 UDP 端口。现在我想使用类的不同对象 (UDPData) 执行此方法,但使用 obj1 的第一个方法调用被保留,并且不再使用不同对象进行进一步的调用。

我想多次调用该方法,而不会导致任何调用卡住并阻止其他调用。

示例代码:

class UDPData {
public String getData() {
while(true) {
// Code Goes here...
}
}
}

// Method Calls like this
UDPData obj1 = new UDPData();
obj1.getData();

UDPData obj2 = new UDPData();
obj2.getData();

UDPData obj3 = new UDPData();
obj3.getData();

示例代码确实很有帮助。

最佳答案

客户端/服务器的工作方式(=编码)有点不同。

服务器会做一些非常模糊的事情,例如:

ServerSocket serverSocket = new ServerSocket(portNumber);
for (;;) {
Socket clientSocket = serverSocket.accept(); // Await a client request
executorService.startWorker(clientSocket);
}

(此代码取自非 UDP 示例;您可能已经在使用 DatagramSocket 进行 UDP。)

这是一个等待 UDP 消息然后将其分派(dispatch)到新线程的循环。

这可以保持服务器响应。

然而,一切都是异步的,就像 UDP 本身一样。工作人员需要通过队列等构建更大的数据结构。

关于Java - 如何使用不同的类对象多次调用具有无限运行循环的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56991661/

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