0%

多线程

多线程


condition

地位

  • reentrantlock的partner
  • 类似于synchronized和(wait、notify)的关系
  • 一个lock对应一个condition

new

  • 必须使用对应lock的newCondition方法

方法

  • await()

    • 可以设置等待时间、超过后自己醒来
  • signal()

  • signalAll()

ReadWriteLock

存在的需求

  • 读操作

    • 单纯的读不会出什么幺蛾子
  • 写操作

    • 写和读之间不同步 不合逻辑的现象会出现
  • TODO

    目的是提高性能

    • 读操作的时候大伙儿可以一起上
    • 写操作的时候只能我上

意义

  • 大大的提高了并发读的效率

Stampedlock

乐观锁

允许读的过程中有写入

悲观锁

不允许读的过程中有写入