社区
C++ 语言
帖子详情
linux下C++ 如何实现一个线程读,一个线程负责处理记录
qiuzhuoxian
2010-10-25 02:46:12
现在要处理磁盘上的多个文件中的每条记录,保守的做法是逐行读,然后逐行处理,循环直到读完,但觉得这样似乎很慢。
想采用另外一种模式,一个线程负责将记录逐行读到一个容器中,另一个线程去找个容器中取数据,然后进行处理,不知道这种模式是否会高效,如何实现。希望高手们提提意见?
...全文
186
2
打赏
收藏
linux下C++ 如何实现一个线程读,一个线程负责处理记录
现在要处理磁盘上的多个文件中的每条记录,保守的做法是逐行读,然后逐行处理,循环直到读完,但觉得这样似乎很慢。 想采用另外一种模式,一个线程负责将记录逐行读到一个容器中,另一个线程去找个容器中取数据,然后进行处理,不知道这种模式是否会高效,如何实现。希望高手们提提意见?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
冻结
2010-10-25
打赏
举报
回复
想采用另外一种模式,一个线程负责将记录逐行读到一个容器中,另一个线程去找个容器中取数据,然后进行处理,不知道这种模式是否会高效,如何实现。希望高手们提提意见?
这种模式楼主可以参考“生产者消费者模式“,“半同步半异步模式“
不过楼主这里就两个线程,简单同步即可,
而简单同步,已经把并行运算变成串行运算,
而且多出来线程调度,线程同步开销,
应该不予考虑。
逐行读,逐行处理即可,性能不是问题。
也可,先将所有文件读入内存,然后进行内存运算。
justkk
2010-10-25
打赏
举报
回复
感觉没有必要用多线程,那还需要线程之间的同步机制
文件的读取应该很快的
C++
跨平台网络和多
线程
编程(windows
Linux
)
课程实战项目包含完整的支持php的http服务器TCP,接收并分析
linux
系统... 课程会讲解
c++
11的多
线程
库和正则表达式库 课程包含在windows下的多
线程
编程实战图片编辑 课程包含如何在
linux
下编译调试程序,编写makefile
一文详解
C++
多
线程
传统的
C++
(
C++
11之前)中并没有引入
线程
这个概念,在
C++
11出来之前,如果我们想要在
C++
中
实现
多
线程
,需要借助操作系统平台提供的API,比如
Linux
的
,或者windows下的
。
C++
11提供了语言层面上的多
线程
,包含在头文件
中。它解决了跨平台的问题,提供了管理
线程
、保护共享数据、
线程
间同步操作、原子操作等类。
C++
11 新标准中引入了5个头文件来支持多
线程
编程,如下图所示:
linux
下
C++
如何
实现
多
线程
多
线程
是多任务
处理
的一种特殊形式,多任务
处理
允许让电脑同时运行两个或两个以上的程序。一般情况下,两种类型的多任务
处理
:基于进程和基于
线程
。 基于进程的多任务
处理
是程序的并发执行。
线程
的多任务
处理
是同一程序的片段的并发执行。 多
线程
程序包含可以同时运行的两个或多个部分。这样的程序中的每个部分称为
一个
线程
,每个
线程
定义了
一个
单独的执行路径。
C++
不包含多线
浅谈
C++
中的多
线程
(一)
本篇文章围绕以下几个问题展开: 何为进程?何为
线程
?两者有何区别? 何为并发?
C++
中如何解决并发问题?
C++
中多
线程
的语言
实现
? 同步互斥原理以及多进程和多
线程
中
实现
同步互斥的两种方法 Qt中的多
线程
应用 引入 传统的
C++
(
C++
98)中并没有引入
线程
这个概念。
linux
和unix操作系统的设计采用的是多进程,进程间的通信十分方便,同时进程之间互相有着独立的空间,不会污染其他进程的数...
Linux
C++
多
线程
编程
1.介绍 使用多
线程
的理由之一是和进程相比,它是一种非常”节俭”的多任务操作方式。我们知道,在
Linux
系统下,启动
一个
新的进程必须分配给它独立的地址空间,建立众多的数据表来维护它的代码段、堆栈段和数据段,这是一种”昂贵”的多任务工作方式。而运行
一个
进程中的多个
线程
,它们彼此之间使用相同的地址空间,共享大部分数据,启动
一个
线程
所花费的空间远远小于启动
一个
进程,而且,
线程
间彼此切换所需的时间也...
C++ 语言
64,649
社区成员
250,477
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章