关于JAVA线程自己结束的问题。

public class DisplayMessage implements Runnable {
private String message;

public DisplayMessage(String message) {
this.message = message;
}

public void run() {
while(true) {
System.out.println(message);
}
}
}

run跑起来后会自己结束,且每次循环的个数都不相同,求指点。

你这样的程序有什么意义呢

死循环而且不加休眠时间跑不好吧

把true改了次数就一样了

run里面应该是死循环,可是System.out.println(message);输出了几次之后就没了,这是什么原因,主线程不是应该等待子线程吗。

运行太频繁,当做恶意线程了吧,加个休眠1s看看?

加了休眠1s后线程还是会自动结束public void run() {
while(true) {
System.out.println(message);
System.out.print(i);
i++;
try
{
Thread.sleep(1000);
}
catch(InterruptedException e)
{

    }
   }

我在主线程里面加了sleep后打印的循环变多了,这个问题应该是主线程没有等待子线程执行完毕就结束了。