我的循环就退出了

时间:2013-10-11 23:30:26

标签: java multithreading algorithm loops user-interface

我需要这行代码的解决方案,我想执行10个循环,而在10,我想要它到system.exit();我的GUI刚刚退出,需要帮助!目前这条线只会退出,它不会执行任何操作

int counter =  0;
            while(true){
                counter++;
            for (int i = 0; i < 5; i++) {
                if(counter < 10){
                    new Thread(new Person(bathroom, !isMale)).start();
                    new Thread(new Person(bathroom, isMale)).start();
                }
                else{
                    System.exit(0);
                }

            }

2 个答案:

答案 0 :(得分:3)

System.exit(0);

System.exit将退出所有主题,包括您已启动的主题。

您应该在退出之前等待所有线程停止。根据它们的组织方式,我计算出要启动的线程数,并让它们都等待主线程结束时的倒计时锁存器,或者很多更简单但更多hackily,主要包括:

while(true){

}

最后。

答案 1 :(得分:0)

开始新线程后,他们将采取自己的方法..

你可以使用join()函数来确保它们完成运行..