美文网首页
关于wait和notify/lock的心得

关于wait和notify/lock的心得

作者: 华木公子 | 来源:发表于2019-07-28 16:40 被阅读0次

    一 使用注意

    wait和notify必须在获取锁的情况下才能适用,否则会抛非法监控异常;
    所以代码块必须在 synchronized 的执行体中执行才行。

    二 使用的方式

    wait就是为了说明当前线程后续逻辑先不执行,需要等待其他线程执行后再执行。
    wait和notify成对出现,表明当前线程执行完后需要通知其他线程来执行。

    三 reentantlock 的使用

    lock和unlock对应于synchronized,只是更为灵活。
    tryLock尝试获取锁;
    tryLock(long)尝试一定时间内获取锁;
    condition.await() 用法于 wait 相同;
    condition.signal() 用法与 notify相同;

    四 reentrantLockReadWriteLock 的用法

    主要是用于读写逻辑分开的场景,读写分开就会存在多线程并发读,并发写,并发读写。因此分别用readLock和writeLock可以更细粒度的控制多线程并发读写

    相关文章

      网友评论

          本文标题:关于wait和notify/lock的心得

          本文链接:https://www.haomeiwen.com/subject/gblprctx.html