首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

关于地图的赋值有关问题

2012-09-16 
关于map的赋值问题。小人初学。public static ConcurrentHashMapInteger, String orderStatus new Concu

关于map的赋值问题。
小人初学。 
public static ConcurrentHashMap<Integer, String> orderStatus = new ConcurrentHashMap<Integer, String>();

public static void initData() {
try {
logger.info("begin to load the data ");
orderStatus = InitData.loadOrderStatus();
// InitData.loadOrderStatus(); 是从数据库读取数据,然后返回一个Map。 
//orderStatus 是一个会经常读取的数据,设置成static的。
} catch (Exception e) {
logger.error("load the data error ", e);
}
}
public static void updateTask() {

Timer loadtask = new Timer();
loadtask.schedule(new TimerTask() {
@Override
public void run() {
try {
initData();
} catch (Exception e) {
logger.error(" update the tts database error", e);
}
}
}, new Date(),24L * 60* 60 * 1000);
}

想问下,用不用 ConcurrentHashMap?? 
 还是说用map 加 synchronized (orderStatus) {
  orderStatus = InitData.loadOrderStatus();
  }


最终问题:::不确定,在赋值的时候怎么做才是线程安全的。。。

[解决办法]
ConcurrentHashMap
这个是已经实现了线程安全的Map了。。。

热点排行