linux下 多线程共享数据问题 5

环境:linux64位服务器现有海量文件(按秒级的时间顺序源源不断的来),我需要起多线程读取这些文件,并利用文件内容构建一个比较庞大的数据结构(各种map、list的组合... 环境:linux64位服务器

现有海量文件(按秒级的时间顺序源源不断的来),我需要起多线程读取这些文件,并利用文件内容构建一个比较庞大的数据结构(各种map、list的组合),另外还有一批线程检测这个数据结构某些位置的值并触发具体的任务(当然也可以在构建数据结构的同时进行触发)。

问题是:
1。多线程如何并发的构建这个数据结构(结构中的list是需要按照文件到来时间排序的),要对数据结构里面的所有数据都上锁么?上锁上在哪?能不上锁么?
2。如何并行的对这个数据结构进行插入和读取
3。其他还需要注意什么?
展开
 我来答
awpfun
2012-04-02 · TA获得超过113个赞
知道小有建树答主
回答量:140
采纳率:0%
帮助的人:180万
展开全部
1,你可以设一个缓冲区,所有读取线程把读取的文件内容放在这个缓冲区内.另设一个专门用来建立数据库的线程.从这个缓冲区内读文件并写入数据库.
上锁的地方不应该在在数据上.那样太没效率,很浪费资源.只要在执行向缓冲区写内容的地方同步控制即可.
2,不清楚.这个太复杂了.我不知道.不过如果是并发的插入和读取的话只要在I/O操作时同步即可.
3....- -
百度网友e0cb80c88
2013-08-07
知道答主
回答量:6
采纳率:0%
帮助的人:3.7万
展开全部
请问你的问题解决了没?我也遇到同样的问题,求解决...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xuhongqi518518
2012-03-29 · TA获得超过401个赞
知道小有建树答主
回答量:284
采纳率:0%
帮助的人:125万
展开全部
没学过 !!偶偶
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式