| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
原句比较笼统
There was a problem hiding this comment.
感谢补充,原文把“当前线程持锁后再次获取一定会返回新 stamp”一概而论,确实不准确。不过当前改法还需要调整后再合入:
建议将这一段精简为:
StampedLock 成功获取读锁或写锁后会返回一个 long 型 stamp,释放锁或转换锁模式时需要传入对应的 stamp;try 系列方法获取失败时返回 0。它是不可重入锁,并且不记录锁的线程所有权。线程持有写锁时再次调用 writeLock(),锁无法识别调用者就是当前持有者,因此会继续等待;调用 tryWriteLock() 则会立即返回 0。同一线程连续调用 readLock() 可能获得多个读 stamp,是因为读模式允许共享,而不是因为锁识别了线程并支持重入;每次成功获取都需要使用对应的 stamp 释放。
依据可参考 Oracle StampedLock API 文档。
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
原句比较笼统