Допустим, у меня есть подпись функции следующим образом:
class CustomerStore {
public void processCustomerInfo(final BiConsumer<Integer, CustomerInfo.V> consumer) throws Exception
}
consumer
выполняется в параллельных потоках внутри processCustomerInfo
.
Может кто-нибудь сообщить мне, есть ли какая-нибудь аннотациямы должны добавить, чтобы обозначить, что переданный в consumer
должен быть потокобезопасным (кроме комментариев)?
Например, приведенный ниже код вызывающего абонента не совсем корректен.
final Map<Integer, CustomerInfo.V> cust = new HashMap<>(); // Should be ConcurrentHashMap
fdbCustomerStore.processCustomerInfo((cid, v) -> cust.put(cid, v));