Java 此代码表示多线程服务器的实现?
我的老师向我们展示了实现应用服务器多线程的代码,但我有点困惑。这是多线程服务器的实现吗?我不明白是不是这样。 我们假设创建一个对象Java 此代码表示多线程服务器的实现?,java,multithreading,Java,Multithreading,我的老师向我们展示了实现应用服务器多线程的代码,但我有点困惑。这是多线程服务器的实现吗?我不明白是不是这样。 我们假设创建一个对象servers=newserver(端口号)。我们可以断言它是一个多线程服务器吗 import java.io.*; import java.net.*; public class Server implements Runnable { private ServerSocket serverSocket; public MainCenterServer(int
servers=newserver(端口号)
。我们可以断言它是一个多线程服务器吗
import java.io.*;
import java.net.*;
public class Server implements Runnable
{
private ServerSocket serverSocket;
public MainCenterServer(int port){
try
{
this.serverSocket = new ServerSocket(port);
}
catch(IOException ioe) {ioe.printStackTrace(); }
new Thread(this, "Server").start();
}
@Override
public void run()
{
while(true)
{
try
{
Socket socket = serverSocket.accept();
}
catch(IOException ioe) {ioe.printStackTrace(); }
}
}
}
根据您对多线程服务器的定义,是的,此服务器是多线程的
新线程(此“服务器”).start()
为要在其上执行的run()
方法创建一个单独的线程。由于run
方法有一个无限循环,它将始终等待客户端接受(Socket Socket=serverSocket.accept()
)。如果“多线程服务器”指的是为每个客户端创建新线程的服务器,则不是。如果“多线程服务器”是指接受多个客户机的服务器,那么是的,它接受多个客户机后,它对客户机不做任何操作。您将如何“断言”服务器是多线程的?首先定义多线程服务器。请原谅,我没有指定多线程服务器的含义。我指的是可以接受两个或多个客户机请求的服务器。@Jeffrey这只是一个例子。我必须继续添加我想做的。@Jeffrey我不明白的是为什么它是一个多线程服务器?客户端的每个请求都会创建不同的线程?