zoukankan      html  css  js  c++  java
  • Java synchronized (1)

      1. 解决问题

        多线程并发问题。

      2. 原理

         

      3. 注意点

         a.  synchronized(class、this、object)区别?

            synchronized(class)很特别,它会让另一个线程在任何需要获取class做为monitor的地方等待。class和this可以同时使用

           1. 对于实例同步方法,锁定当前实例对象;

           2. 对于静态同步方法,锁定当前对象的class对象;

           3. 对于方法同步块,synchronized锁定括号内配置的对象。

           class与this的几种情况:

              synchronized(class)

              synchronized(this)

              线程各自获取monitor,不会等待;

              synchronized(this)

              synchronized(this)

              如果不同线程监视同一个实例对象,就会等待;如果不同的实例,就不会等待;

              synchronized(class)

              synchronized(class)

              如果不同线程监听同一个实例或不同的实例对象,都会等待。

       

    齊帥
  • 相关阅读:
    2016年开源软件评选(截图备份)
    牛逼的思维方式都是倒逼出来的(摘)
    3-22 多态
    3 -20 类
    3 -19标准库
    3 -16 json序列化
    3 -16 内置方法
    迭代对象 和 迭代器
    3 -14 迭代 和列表 生成器
    3-13 装饰器
  • 原文地址:https://www.cnblogs.com/qishuai/p/7735658.html
Copyright © 2011-2022 走看看