原子性,在多线程里面,一段代码作为一个整体,一个线程在执行,要么执行成功要么执行失败。而其他的线程必须要等待当前的线程执行完才能进行响应的操作,否则只能等待
synchronized由两个部分组成锁的对象引用和锁保护的代码快
线程a尝试获取一个线程b持有的锁是,线程a必须等待或者阻塞,知道线程b释放这个锁,如果b不释放锁,那么a蒋永远等下去
任何一个执行同步代码快的线程,都不可能看到有其他线程正在执行有同一个锁保护的代码块
当某一个变量由锁来保护是,意味着在每次访问这个变量时都需要首先获得锁,这样就能确保在同一时刻只有一个线程可以访问这个变量