1、synchronized
- Object类的同步方法:wait(),notify()
2、Lock和Condition
- Lock是一个接口,实现类有ReentrantLock、ReentrantReadWriteLock
- Condition类的同步方法:await(),signal()
3、LockSupport
LockSupport的主要作用是允许线程进行阻塞和唤醒,而且可以在任意位置对线程进行操作,而无需持有特定的锁。它提供了park()和unpark()两个静态方法,可以分别用于阻塞线程和唤醒线程。
3、CAS
- AtomicInteger等
- AtomicReference
4、简单同步方法
- Semaphore
- CyclicBarrier
- CountDownLatch
5、volatile
6、BlockingQueue,SynchronousQueue
线程安全集合
- Vector, Hashtable
- ConcurrentHashMap、ConcurrentHashSet
- CopyOnWriteArrayList
- https://www.cnblogs.com/guanghe/p/10648333.html