我希望以下代码能够永远打印出文本:
Thread t = new Thread()
{
public void run()
{
for(;;)
{
System.out.print("thread example");
}
}
};
t.start();
但事实并非如此。它只是因为 for 循环而锁定。谁能告诉我为什么?
最佳答案
print
不会刷新缓冲区 - 您需要 println
,它会放入换行符并刷新缓冲区。
本质上,您正在打印一堆,但您正在打印到内存缓冲区,因此您看不到它。
关于java - for循环是锁定线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23205402/