美文网首页
线程同步之synchronized

线程同步之synchronized

作者: NullPointe_8e82 | 来源:发表于2018-08-16 23:18 被阅读0次

我们常常会在方法前加一个synchronized认为这样就相当于加了锁就可以线程安全了,不知道你是不是这样的人。哈哈哈!反正我以前是!

言归正传!其实synchronized可以锁方法,可以锁代码块。

当一个类实例化一个对象时,如果里面的方法加了synchronized,这就是所谓的非静态同步方法!

非静态同步方法都是用同一把锁––实例的对象本身!也就是说实例里面的其它非静态同步方法必须等待获取锁的方法释放锁后才能开始执行!

那么问题来了,如果多个实例对象呢?多线程的实例对象执行同一个方法时呢?这样再加个synchronized锁方法还可以吗?经过测试打log表明是不行的!上面也说过那一把锁是实例对象本身!我们现在是在不同的实例啊!!!那么我们就要使用static去修饰那个方法了!

所有静态同步方法用的都是同一把锁––类本身对象!这样多线程的实例对象就会按顺序去执行这个静态方法了!

先这样吧!码字累。

相关文章

  • Java线程同步:synchronized

    Java线程同步:synchronized在Java中,synchronized关键字是用来控制线程同步的,就是在...

  • 线程同步之synchronized

    我们常常会在方法前加一个synchronized认为这样就相当于加了锁就可以线程安全了,不知道你是不是这样的人。哈...

  • 线程同步之@synchronized

    这是并发控制方案的系列文章,介绍了各种锁的使用及优缺点。自旋锁[https://github.com/pro648...

  • JDK多线程基础笔记(2):线程互斥与同步(synchroniz

    线程互斥(线程安全) synchronized 简介 synchronized 是 Java 内建的同步机制,所以...

  • 线程的基本语法

    线程同步[解决线程安全问题] 解决线程安全问题 线程同步方式一:同步代码 语法基本 synchronized (同...

  • Synchronized

    1.synchronized同步线程安全锁

  • 线程同步

    @synchronized 同步锁 使用@synchronized解决线程同步问题相比较NSLock要简单一些,日...

  • 8. Java的Lock锁

    Lock和synchronized同步块一样,是线程的同步机制,而且锁是由synchronized同步块的方式进行...

  • [iOS] OC中的锁

    为了解决线程同步问题,需要使用线程锁 @synchronized. ...

  • java-多线程

    多线程 synchronized 1、synchronized关键字 简介解决多个线程之间访问资源的同步性。保证被...

网友评论

      本文标题:线程同步之synchronized

      本文链接:https://www.haomeiwen.com/subject/cxyabftx.html