开发者社区> 问答> 正文

下面两种使用synchronized关键字的方式有什么区别?

下面两种使用synchronized关键字的方式有什么区别?

展开
收起
游客pklijor6gytpx 2019-12-02 16:16:26 337 0
1 条回答
写回答
取消 提交回答
  • // 第一种
    synchronized(this) {
          ...
    }
    // 第二种
    synchronized(A.class) {
        ...
    }
    
    
    

    第一种方式表示:当前同步代码块中锁对象是当前类的一个实例,当线程访问同一个实例锁定的同步方法时,将会被禁止。

    第二种方式表示:当前同步代码块中锁对象对当前类的任意实例均有效,即任意线程访问该代码块都会被禁止。

    2019-12-02 16:17:00
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载