Java 能否理解具有相同名称的线程是不同的线程?

2022-09-01 20:21:20

在每次迭代中,都会创建一个线程“学生”。因为这些线程都被命名为“学生”。Java能理解这些是不同的线程吗?

while (true) {
    System.out.println("Waiting for client...");
    // open client socket to accept connection
    client = server.accept();
    System.out.println(client.getInetAddress()+" contacted ");
    System.out.println("Creating thread to serve request");

    ServerStudentThread student = new ServerStudentThread(client);
    student.start();
}

答案 1

来自 Javadoc

每个线程都有一个用于标识的名称。多个线程可能具有相同的名称。如果在创建线程时未指定名称,则会为其生成一个新名称。

JVM 按线程的 ID 而不是按其名称来跟踪线程。


答案 2