Aci*_*ier 4 java map synchronized linkedhashmap java-6
我正在创建一个servlet.Filter实现,其中我在将请求发送到servlet之前,基于IP地址在数据库中查找用户ID.
如果已经有来自同一IP地址的请求在数据库中查找,我希望我的过滤器将传入的请求存储到类似地图的对象中.然后当我从数据库得到响应时,我会将它应用于该IP地址的所有请求,并将它们发送到servlet的路上.
类似地图的对象需要同步,但也要保持插入顺序,这样一旦我找到用户ID,所有存储的请求"将按接收顺序处理".
通过API有一个LinkedHashMap可以维持订单正常但不同步的,它HashTable是同步的,但没有给出任何迹象表明它会保持正确的顺序.
LinkedHashTable我可以使用某种物品吗?
我使用的是Java 6.
您可以使用在线程安全容器中synchronizedMap包装任何Map实现:
Map<K, V> synchronizedLinkedHashMap = Collections.synchronizedMap(new LinkedHashMap<K, V>());
Run Code Online (Sandbox Code Playgroud)
ConcurrentSkipListMap如果您想用a 来订购元素,也可以使用a Comparator.
| 归档时间: |
|
| 查看次数: |
3201 次 |
| 最近记录: |