for循环是锁定线程

use*_*459 0 java

我希望以下代码永远打印出文本:

Thread t = new Thread()
{

    public void run()
    {

    for(;;)
        {
            System.out.print("thread  example");
        }
    }
};


t.start();
Run Code Online (Sandbox Code Playgroud)

但事实并非如此.它只是因为for循环而锁定.有人可以告诉我为什么吗?

ysh*_*vit 5

print不刷新缓冲区 - 你想要的println,它放入换行符并刷新缓冲区.

基本上,你正在打印一堆,但你打印到内存缓冲区,所以你没有看到它.