在多线程应用程序中使用同步映射(meaing hashtable或ConcurrentMap)的重要性

时间:2017-04-25 10:17:06

标签: java multithreading

有人可以举例说明为什么在多线程应用程序中仅使用同步映射(meaing hashtable或ConcurrentMap)是不明智的? 我理解为什么同步在地图上执行操作的应用程序方法是有意义的,但为什么地图本身需要同步?

我试过了:

public class MapTest {

    private static final TreeMap<String, String> map = new TreeMap<>();


    public static void main(String[] args) {
        Thread t = new Thread() {
            public synchronized void run() {
                map.put("pp", "ww");

            }
        };

        Thread r = new Thread() {
            public synchronized void run() {
                System.out.println("s:" + map.get("pp"));
            }
        };

        t.start();
        r.start();

    }
}

但我总是得到相同的“好”结果:s:ww allthoght地图未同步

0 个答案:

没有答案