Use ConcurrentHashMap to avoid ConcurrentModificationException and read-write lock

Use ConcurrentHashMap to avoid ConcurrentModificationException and read-write lock