1. synchronized 同步方法 & 同步语句, 简单但效率低 2. volatile 变量, 只能用于简单的同步, 线程读写是原子操作时使用, 效率高 3. Atomic 变量, 保证该变量读写都是原子操作