【发布时间】:2016-03-17 05:56:56
【问题描述】:
ReentrantReadWriteLock 非常适合在接收时以编程方式基于时间戳的读写场景。
PUT(KEY=1,VALUE=1)
PUT(KEY=1,VALUE=2)
GET(KEY=1)
PUT(KEY=1,VALUE=1)
...
Java ReentrantReadWriteLock 将根据 Java 本身提供的时间戳按顺序自动同步所有这些。
但是,我需要如何使用随每个请求一起提供的外部时间戳。
PUT(KEY=1,VALUE=1,TIMESTAMP=13000000000000)
PUT(KEY=1,VALUE=2,TIMESTAMP=13500000000000)
GET(KEY=1,TIMESTAMP=14000000000000)
PUT(KEY=1,VALUE=1,TIMESTAMP=15000000000000)
...
如何设计按外部时间戳排序的读写锁?
【问题讨论】:
-
从请求中复制它们!
-
如何将请求中的时间戳放入这些锁中?
-
您能否对此进行扩展 __ 我需要使用随每个请求一起提供的外部时间戳。__ 您的请求看起来如何?
-
put?key=KEY&value=VALUE×tamp=TIME get?key=KEY×tamp=TIME
-
您应该能够像提取 KEY 一样提取 TIME。您面临的问题是什么?
标签: java concurrency readwritelock