代码:
$("#register").validate({
errorPlacement: function(error, element) { },
submitHandler: function(form) {
$('.processing-wrapper').removeClass('hidden');
setTimeout(function(form) {
form.submit();
}, 2500);
}
});
输出:
app_debug.9.log.gz:07 Apr 2016 13:47:06,661 DEBUG [WirePushNotificationSyncHandler :: WirePushNotification.Worker-1] - eventsForThisCategory是{FX_WIRE_DATA =关键经济数据,ALL_FX_WIRE =全部,ALL_FX_WIRE =全部,FX_WIRE_HEADLINES =关键头条新闻}
怎么可能?
答案 0 :(得分:1)
我很确定你的地图不会同时拥有两个相同的键。你看到的是在迭代它时修改地图的效果(在toString()
中)。当写入第二个“ALL_FX_WIRE”时,第一个将不再出现在地图中。
您已经知道HashMap
不是线程安全的。在eventsForThisCategory
运行时,另一个线程可以修改eventsForThisCategory.toString()
加号。所以这是必须的。
确保多个线程不会同时修改eventsForThisCategory
(或切换到ConcurrentHashMap
),并确保在toString()
运行时不修改 var token = response.data['token']
var user = response.data['user']
当你创建调试输出时。)
答案 1 :(得分:0)
HashMap在多线程中不是threadSafety。
您可以尝试使用Collections.synchronizedMap()
来包装hashMap实例
或使用ConcurrentHashMap
或许更好