我有这段代码:CustomerClient本质上是扩展Thread的类。
我正在尝试生成多个线程,但一次只能生成一个。但是我得到了非法的线程状态异常。我究竟做错了什么?

CustomerClient cusClient = new CustomerClient("B", server_IP_1,
            server_Port_1, server_IP_2, server_Port_2);

    while (true) {
        System.out.println("new thread A");
        cusClient.start();
        cusClient.join();
    }

最佳答案

一个线程只能启动一次。因此需要在循环中每次都初始化线程对象。

while (true) {
    CustomerClient cusClient = new CustomerClient("B", server_IP_1,
        server_Port_1, server_IP_2, server_Port_2);
    System.out.println("new thread A");
    cusClient.start();
    cusClient.join();
}

09-27 06:59