Map的同步使用问题

Map map = Collections.synchronizedMap(new HashMap());
若此时该map[color=red]正在加入数据[/color],而我此时又要从map中取某些数据或遍历此时的map,这时我该怎么办呢?
请大人指点!!!

自己实现clone方法,可以参考如下代码:

       HashMap<K,V> cloneMap = new HashMap<K,V>();   
        Iterator<Entry<K, V>> it = this.entrySet().iterator();   
        while(it.hasNext()){   
            Map.Entry<K, V> entry = it.next();   
            K key = entry.getKey();   
            V value = entry.getValue();   
            cloneMap.put(key, value);   
        }   

使用 synchronizedMap 方法就是使map对像线程安全,这样的话就不能同时即写又读,可以再 synchronizedMap 之前 clone一个map对象出来,遍历时就遍历clone出来的对象