项目里需要进行数据的统计/罗列,最终还要把信息转成JSON,简化后的JSON格式如下:
{
"Counts": 2,
"guest": [
{
"name": "guest01",
"statistics_01": 4,
"statistics_02": 6,
"actionCounts": 1,
"actionList": [
{
"info_01": "...",
"info_02": "..."
}
]
}
{
"name": "guest02",
...
}
]
}
也就是说,这个数据结构里面有列表。查了一下,发现arraylist转JSON很方便,抄了一个例子过来。不错,简单的操作都是OK的。
但是系统是多线程的,也就是说,上面那个数据结构是要被多线程操作的(追加阿,删除阿,更新阿),因此synchronize是必须的。
又查了查,"vector"本身就是线程安全的,而"arraylist"不是线程安全的。可是,"vector"转JSON的例子没找到,又不想"vector"转"arraylist"再转JSON。。。
只好用synchronize了。
这篇文章对synchronize讲的不错:
java中synchronized关键字的用法
阅读(1639) | 评论(0) | 转发(0) |