永发信息网

求问如何在C/C++程序中运用双缓存双线程等大规模数据处理

答案:2  悬赏:80  手机版
解决时间 2021-02-16 10:50
求问如何在C/C++程序中运用双缓存双线程等大规模数据处理
最佳答案
线程技术主要是用来并行处理一些任务,这些任务之间一般少有逻辑顺序上的关联,所以用线程技术可以提高程序整体的运行速度,特别在其中一些子线程运行速度有很大差距的情况下。
fread不输入整块调入,它底层是使用的read之类的函数,对文件句柄进行操作。gets函数则是对指针指向的内存地址操作。这些都是上层逻辑了,离磁盘寄存器很远。真正加快文件读取速度的方法有很多,比如把整个文件映射到内存里,又比如跳过磁盘缓存直接大块读取内容。这些有的有专门的API函数可用,有的则需要你自己改写系统底层代码。
建议你多看看操作系统原理方面的书,可以去试着学习下linux内核代码和原理,这样你对这些问题就会有更深的认识。
希望这些建议能帮助你。
全部回答
线程技术主要是用来并行处理一些任务,这些任务之间一般少有逻辑顺序上的关联,所以用线程技术可以提高程序整体的运行速度,特别在其中一些子线程运行速度有很大差距的情况下。 各类软件使用缓存的方式都不一样。双缓存或者多个缓存、缓存池等等方式都有。关键在于你的程序需要使用怎样的缓存结构。比如说你是类似生产者消费者模型的软件,你也许会使用多个缓存做成队列,一头在不断填充,一头则不断消耗,这样能大大提高整体的数据吞吐速度。 fread不输入整块调入,它底层是使用的read之类的函数,对文件句柄进行操作。gets函数则是对指针指向的内存地址操作。这些都是上层逻辑了,离磁盘寄存器很远。真正加快文件读取速度的方法有很多,比如把整个文件映射到内存里,又比如跳过磁盘缓存直接大块读取内容。这些有的有专门的api函数可用,有的则需要你自己改写系统底层代码。 建议你多看看操作系统原理方面的书,可以去试着学习下linux内核代码和原理,这样你对这些问题就会有更深的认识。 希望这些建议能帮助你。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
黄州区黄冈勇腾电脑地址在哪,我要去那里
请问有人知道这是什么英文手写字体吗?
五一结婚好还是十一结婚好
女朋友认得弟弟对我一点不尊重,但是女朋友和
在老公面前骂婆婆,这样的老婆要得不?
美意德咖啡在什么地方啊,我要过去处理事情
施华洛世奇黑天鹅真假
还呗进行信用卡代还,无法进行人脸识别怎么办
1688前后在英国国王的议会发展成为议会的国王
太康县周口便民超市(建设南路)我想知道这个在
查看当前oracle实例的控件文件位置
兴旺茶叶干果茶行在什么地方啊,我要过去处理
1等于几分之13等于18分之几等于几除以7等于3
x280最高搭配显卡,主要玩坦克
从2016年到排到100年可能吗?
推荐资讯
小清水亚美的玻璃の空在哪部动漫里出现过?
攸县株洲攸县房产管理局这个地址在什么地方,
上海汽车临时牌照出上海市能继续使用吗
芙蓉区长沙五里牌街道工会联合会怎么去啊,谁
宝马车随车工具都有哪些?
银桥核桃奶多少钱一箱,袋装 16包的那种,在
南京新东方网上报名听课证在哪里领?
买个毛衣下摆的前边和后边是长的,穿长外套的
奥德修斯的形象是一个()。
有没有计算同分异构体数目的公式或递推公式
梦见丈夫把我给卖了
纽扣电池取下来的时间长了可以把电脑密码取消
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?