Java Thread.Join()方法不等待线程完成

时间:2014-03-23 15:27:26

标签: java multithreading

我有这部分代码: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();
    }

1 个答案:

答案 0 :(得分:1)

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

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