【发布时间】:2011-11-11 15:02:54
【问题描述】:
我正在编写一个类似DatabaseConfiguration 的类,它从数据库中读取配置,我需要一些关于同步的建议。
例如,
public class MyDBConfiguration{
private Connection cn;
private String table_name;
private Map<String, String> key_values = new HashMap<String,String>();
public MyDBConfiguration (Connection cn, String table_name) {
this.cn = cn;
this.table_name = table_name;
reloadConfig();
}
public String getProperty(String key){
return this.key_values.get(key);
}
public void reloadConfig() {
Map<String, String> tmp_map = new HashMap<String,String> ();
// read data from database
synchronized(this.key_values)
{
this.key_values = tmp_map;
}
}
}
所以我有几个问题。
1.假设属性是只读的,我是否在getProperty中使用了synchronize?
2.在reloadConfig中做this.key_values = Collections.synchronizedMap(tmp_map)有意义吗?
谢谢。
【问题讨论】:
标签: java multithreading synchronization