有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java线程的用途是什么。netsocket中的sleep()。伊奥?

我目前正试图用他们的语言学习netty-socket.io demo project。我一直在看Thread.sleep(Integer.MAX_VALUE);。有人能告诉我为什么这很重要吗

添加:为了澄清,我不是在问线程的作用。sleep()函数会暂停特定线程上的执行。我在这个示例socket服务器中询问它的相关性

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();
    }

}

共 (1) 个答案

  1. # 1 楼答案

    所以我发现这和服务器没有任何关系。这个Thread.sleep(Integer.MAX_VALUE);只是暂停了程序的执行。为了让这个答案更直观,我将在发布的代码块中将Thread.sleep(Integer.MAX_VALUE)更改为Thread.sleep(4000)

    也就是说,这将启动服务器,运行4秒钟,然后停止服务器

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