种类

  • volatile:原子操作
  • synchronized:内部锁,锁自动释放
  • ReadWriteLock:读写锁
  • ReentranLock:重入锁,锁需要在finally中释放
  • Condition:拥有Lock的对象和Lock一起使用,Lock的增强
  • Semaphore:信号量
  • ThreadLocal:线程局部变量,为每个线程提供变量副本

性能 如何提高性能?

  • ☞避免死锁
  • ☞减少锁持有时间
  • ☞减少锁粒度
  • ☞读写分离锁替换独占锁
  • ☞自旋锁,当没有取得锁时不挂起转而进行自我循环,直到设定的超时挂起或取得锁,如果最终还是要超时挂起那么就没必要自旋了
posted @ 2020-07-13 16:39  小嘟嘟虫  阅读(87)  评论(0编辑  收藏  举报