我必須搜索一個對象:首先在BlockingQueue
,如果它不存在,那麼我需要搜索一個ConcurrentHashMap
並需要做一些操作。這需要是線程安全的。同步訪問兩個不同的對象
下面的代碼是否正確? ConcurrentHashMap
上的同步是否按預期工作?
synchronized(blockingQueue){
if(!blockingQueue.contains(element)) {
synchronized(concurrentHashMap) {
//do something
}
}
}
這取決於其他線程正在做什麼。 – Val