首页 > 其他 > 详细

System.out.println与synchronized

时间:2021-05-23 15:09:59      阅读:11      评论:0      收藏:0      [点我收藏+]

java中常常使用此作为屏幕的输出。
众所周知,在java这种OOP语言,对屏幕作输出内容,分为两步,

// 将对屏幕的输出抽象为一个输出流对象
// 注意,此处并未使用new创建对象,而是使用System提供的out
PrintStream out=System.out;
// 对屏幕输出内容,即对输出流对象写内容
out.println("shit world, i fuck you!")

注意,println中使用synchronized (this) {},避免并发情况,对屏幕输出流写内容。

// PrintStream中的一个方法,该方法被多种重写。
    public void println(long x) {
        synchronized (this) {
            print(x);
            newLine();
        }
    }

synchronized是悲观的对象锁:
synchronized代码块被某线程运行中,对象被锁——其它线程无法访问该对象。

System.out.println与synchronized

原文:https://www.cnblogs.com/1river/p/14800950.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!