我试着搜索这个问题但无法找到。
我试图理解Java教程中提供的示例: SimpleThreads示例: http://docs.oracle.com/javase/tutorial/essential/concurrency/simple.html
在这个例子中,当我注释掉“//t.join(1000);”它显示输出为:
main: Starting MessageLoop thread
main: Waiting for MessageLoop thread to finish
main: Still waiting...
main: Still waiting...
...
...
main: Still waiting...
Thread-5: A kid will eat ivy too
main: Still waiting...
main: Finally!
取消评论“t.join(1000),它显示了来自importantInfo []数组的所有元素。
在上面的输出中,为什么它没有显示数组中的所有元素而且只显示最后一个?
答案 0 :(得分:0)
我很确定它正在打印阵列中的所有元素 - 你只是看不到它 因为我试图不在控制台上打印而是将其写入文件(140 KB文本文件oO),所有4个不同的字符串都被写入...可能是它与控制台的一些并发问题,idk 也许控制台输出有限?检查Eclipse / IDE设置
所以“仍在等待”会被打印数百或者相当数千次,而你正在寻找其他4个字符串 - 不是那么大的惊喜你不能在混乱中找到它们
希望这有点帮助,虽然我同意 - 这是一个可怕的例子xD