1. synchronized语句
同步的代码块尽量少
locks split, 私有的对象锁代替this
2. volatile
for double, long primitive type.
3. ThreadLocal
4. 使用 JDK1.5提供的锁 java.util.concurrent.locks.Lock, java.util.concurrent.locks.ReadWriteLock
5. 使用 JDK1.5提供的多线程类java.util.concurrent.locks.Lock