Java servlet中的线程安全数据结构
我在servlet中有以下线程,它在其构造函数中接受ConcurrentHashMapJava servlet中的线程安全数据结构,java,multithreading,servlets,thread-safety,jersey,Java,Multithreading,Servlets,Thread Safety,Jersey,我在servlet中有以下线程,它在其构造函数中接受ConcurrentHashMap RequestThread(ConcurrentHashMap<String, String[]> sentRequests, ServletContext context) { this.sentRequests = sentRequests; this.context = context; } RequestThread(ConcurrentHashM
RequestThread(ConcurrentHashMap<String, String[]> sentRequests, ServletContext context) {
this.sentRequests = sentRequests;
this.context = context;
}
RequestThread(ConcurrentHashMap sentRequests,ServletContext上下文){
this.sentRequests=sentRequests;
this.context=上下文;
}
多个用户访问ConcurrentHashMap。它应该在所有类中使用
以这种方式传递ConcurrentHashMap是线程安全的还是有更好的方法?在这种情况下,
ConcurrentHashMap
是线程安全的很重要。你将如何传递它并不重要。
根据:
一种支持完全并发的检索和调整的哈希表
更新的预期并发性。这个类遵循相同的函数
规范为哈希表,并包括方法的版本
对应于哈希表的每个方法。然而,即使所有
操作是线程安全的,检索操作不需要
锁定,并且不支持在中锁定整个表
阻止所有访问的方法。此类可与完全互操作
程序中的哈希表依赖于它的线程安全性,但不依赖于它的
同步细节
我会使用一个缓存库来处理整个应用程序中的对象,而不是试图重新发明轮子。一些示例是ehcache和infinispan。请检查以下内容: