I want each thread to put some data to the map where the thread-id is a key of the map. (for a multi-threading unit test) Is it safe to put to a Map concurrently in general ?
My code looks like this.
public ThreadData getThreadData() {
    Long threadId = Thread.currentThread().getId();
    if( ! mutableMapRegistry.containsKey(threadId)){
        mutableMapRegistry.put(threadId, new  ThreadData());
    }
    return mutableMapRegistry.get(threadId);
}