synchronized 线程安全问题 单线程不会存在线程不安全问题,而多个线程可能会存在同时访问同一个资源(变量、对象、文件、数据库,这种资源又叫临界资源、共享资源)的情况,会导致程序运行结果不是预期结果 解决线程安全问题的方案 同步互斥访问 在同一时刻,确保只能有一个线程访问该临界资源,当一个线程在访问临界资源的代码上加一个锁,当用完临界资源后释放锁,从而让其他线程能够继续访问该资源,java 可以通过 synchronized 和 Lock 关键字实现同步互斥访问 类锁 方法锁