关于同步 synchronized 的一个问题
假如我有100条数据,并且数据都有自己的序号(1,2,3,4,5,6,7,8,9.......),每隔60毫秒并发开启6条线程去访问服务器,当访问服务器回来之后,需要保存这些数据原来的序号,依旧按照(1,2,3,4,5,6,7,8,9.......)排列保存成txt格式,还需要保存其他信息,暂且先讨论一下,这种并发访问的,怎么能保证在访问之后,保存数据的时候,还能按照原来的顺序进行保存呢????
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(12)
引用来自“黑菜妞妞”的答案
事实验证你说的是对的,的确要先保存到一个集合中,最后再一起输出,说的很对( ⊙o⊙ )哇
貌似跟synchronized是没有关系
这个其实跟synchronized有什么关系呢?
好滴 好滴
看这个帖子,我的最后回复,已经实现了你的需要
http://www.oschina.net/question/138715_26385
是个方法,我下午的时候试一下,也不知道会遇到神马问题( ⊙o⊙ )哇,灰常的感谢。我下午试试。
创建两个100元素的ArrayList,第一个是原始数据,第二个存放结果数据
6线程分别挑选一个下标id工作,即从Array1里取原始数据,有了结果放到Array2对应元素里
最后把Array2顺序保存
可否?
+1
神马是排序数组( ⊙o⊙ )哇,那个要怎么写呢???
SortedMap,SortedList都可以,如果保存的是对象的话,要自己实现排序接口
事实验证你说的是对的,的确要先保存到一个集合中,最后再一起输出,说的很对( ⊙o⊙ )哇
先Cache到一个排序数组中,最后一次性写入txt