是来自 System.out.println 的多线程输出交错的
2022-08-31 13:01:34
如果多个线程在没有同步的情况下调用 System.out.println(String),输出是否可以交错?还是每行的写入是原子的?API没有提到同步,所以这似乎是可能的,或者通过缓冲和/或VM内存模型等阻止了交错输出?
编辑:
例如,如果每个线程包含:
System.out.println("ABC");
是保证为以下各项的输出:
ABC
ABC
或者可能是:
AABC
BC