Thread.sleep() 在 net-socket.io 中的目的是什么?



我目前正在尝试使用他们的 netty-socket.io 学习演示项目。我一直看到Thread.sleep(Integer.MAX_VALUE);.有人可以告诉我为什么这很重要吗?

补充:澄清一下,我不是在问 Thread.sleep(( 函数做什么,显然它会暂停特定线程上的执行。我问的是它在此示例套接字服务器的相关性。

package com.corundumstudio.socketio.demo;    
import com.corundumstudio.socketio.listener.*;
import com.corundumstudio.socketio.*;
public class NamespaceChatLauncher {
    public static void main(String[] args) throws InterruptedException {
        Configuration config = new Configuration();
        config.setHostname("localhost");
        config.setPort(9092);
        final SocketIOServer server = new SocketIOServer(config);
        final SocketIONamespace chat1namespace = server.addNamespace("/chat1");
        chat1namespace.addEventListener("message", ChatObject.class, new DataListener<ChatObject>() {
            @Override
            public void onData(SocketIOClient client, ChatObject data, AckRequest ackRequest) {
                // broadcast messages to all clients
                chat1namespace.getBroadcastOperations().sendEvent("message", data);
            }
        });
        final SocketIONamespace chat2namespace = server.addNamespace("/chat2");
        chat2namespace.addEventListener("message", ChatObject.class, new DataListener<ChatObject>() {
            @Override
            public void onData(SocketIOClient client, ChatObject data, AckRequest ackRequest) {
                // broadcast messages to all clients
                chat2namespace.getBroadcastOperations().sendEvent("message", data);
            }
        });
        server.start();
        //Thread.sleep(Integer.MAX_VALUE);
        Thread.sleep(4000);
        server.stop();
    }
}

所以我发现这与服务器完全无关。此Thread.sleep(Integer.MAX_VALUE);只是暂停了程序的执行。为了使这个答案直观,我将在发布的代码块中将Thread.sleep(Integer.MAX_VALUE)更改为Thread.sleep(4000)

即,这将启动服务器,运行它 4 秒钟,然后停止服务器。

这似乎只是为了实现它的目的;即启动和停止服务器,因为这取自一个演示项目。

最新更新