01内置锁

原子性,在多线程里面,一段代码作为一个整体,一个线程在执行,要么执行成功要么执行失败。而其他的线程必须要等待当前的线程执行完才能进行响应的操作,否则只能等待

synchronized由两个部分组成锁的对象引用和锁保护的代码快

线程a尝试获取一个线程b持有的锁是,线程a必须等待或者阻塞,知道线程b释放这个锁,如果b不释放锁,那么a蒋永远等下去

任何一个执行同步代码快的线程,都不可能看到有其他线程正在执行有同一个锁保护的代码块

当某一个变量由锁来保护是,意味着在每次访问这个变量时都需要首先获得锁,这样就能确保在同一时刻只有一个线程可以访问这个变量

原文地址:https://www.cnblogs.com/handsome1013/p/10164146.html