假设我具有如下功能签名-
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));