我希望以下代码永远打印出文字:
Thread t = new Thread()
{
public void run()
{
for(;;)
{
System.out.print("thread example");
}
}
};
t.start();
但事实并非如此。它只是因为for循环而锁定。有人可以告诉我为什么吗?
答案 0 :(得分:5)
print
不会刷新缓冲区 - 您需要println
,它会放入换行符并刷新缓冲区。
基本上,你正在打印一堆,但是你要打印到内存缓冲区,所以你看不到它。