如果我需要读一个文件A,然后从文件A中提取信息,一段一段的提取,并处理,最终输出到B文件中。
我的想法是:
想法一:
一个buffer
主线程负责读取数据:
读一段,读入buffer。唤醒次线程处理buffer数据
次线程负责写入数据:
从共用buffer中,处理数据,并写入文件。写完通知主线程继续。
循环
这样的话,就感觉突显不了多线程的优势了。主线程必须等次线程写完才能执行
读操作
想法二:
多个buffer?
本人对多线程不太懂。求有项目经验的大神帮忙指导,给个差不多详细思路就行,不用代码。非常感谢我想用信号量,P V操作实现
然后就是因为数据是4k,4k分一段的,我每次读取4k,就得malloc 4k,这算大么?
我的想法是:
想法一:
一个buffer
主线程负责读取数据:
读一段,读入buffer。唤醒次线程处理buffer数据
次线程负责写入数据:
从共用buffer中,处理数据,并写入文件。写完通知主线程继续。
循环
这样的话,就感觉突显不了多线程的优势了。主线程必须等次线程写完才能执行
读操作
想法二:
多个buffer?
本人对多线程不太懂。求有项目经验的大神帮忙指导,给个差不多详细思路就行,不用代码。非常感谢我想用信号量,P V操作实现
然后就是因为数据是4k,4k分一段的,我每次读取4k,就得malloc 4k,这算大么?