System.out.println是不是线程安全的?

sword_hero 2004-07-22 09:03:37
不是的话,我就要用log4j啦
...全文
311 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
shangqiao 2004-07-24
  • 打赏
  • 举报
回复
淡然这只是一个,可以看看其他的,也是一样
shangqiao 2004-07-24
  • 打赏
  • 举报
回复
public void write(int b) {
try {
synchronized (this) {
ensureOpen();
out.write(b);
if ((b == '\n') && autoFlush)
out.flush();
}
}
catch (InterruptedIOException x) {
Thread.currentThread().interrupt();
}
catch (IOException x) {
trouble = true;
}
}
这是考的PrintStream的源码,可以看见,是安全的
wucr 2004-07-23
  • 打赏
  • 举报
回复
是的
accpdeng 2004-07-23
  • 打赏
  • 举报
回复
UP
gameboy999 2004-07-23
  • 打赏
  • 举报
回复
从源代码可以看出,这个println函数是tread-safe的

/*java.lang.System*/
public final static PrintStream out = nullPrintStream();



/*java.io.PrintStream*/
public void println(String x) {
synchronized (this) {
print(x);
newLine();
}
}
sbamdanb00 2004-07-23
  • 打赏
  • 举报
回复
应该是的
sword_hero 2004-07-23
  • 打赏
  • 举报
回复
up too

62,622

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧