gpt4 book ai didi

java - 如何在后台线程中启动服务器并知道服务器在启动时没有抛出异常?

转载 作者:行者123 更新时间:2023-12-01 14:48:20 24 4
gpt4 key购买 nike

我有一个封装服务器套接字的类,即服务器功能。
该类的接口(interface)是:

class Server{  
public void start();
public void stop();
}

开始如下:

public void start(){  
ExecutorService tp = Executors.newSingleThreadExecutor();
while(!stop){
try {
Socket clientConnection = serverSocket.accept();
tp.execute(new ClientProcessor(clientConnection));
} catch (IOException e) {
stop = true;
}
}

我无法弄清楚如何在不阻塞我的 main 的情况下启动此操作。
我的意思是我需要从后台线程启动服务器,所以我想到了以下内容:

ExecutorService tp2 = Executors.newSingleThreadExecutor();  
tp.submit(new Runnable(){
public void run(){
Server s = new Server();
s.start();
}
});
}

但是我想要知道服务器启动并且没有抛出异常。我怎样才能做到这一点?
IE。我如何从我的 main 线程知道后台服务器启动正常,以便我可以继续执行其余操作?

最佳答案

启动服务器。稍等一会。尝试在本地堆栈上连接到它。如果连接成功,您就获胜了 - 只需关闭临时连接即可。

关于java - 如何在后台线程中启动服务器并知道服务器在启动时没有抛出异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15159453/

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