【发布时间】:2017-03-16 18:38:36
【问题描述】:
我正在开发一个程序,它从磁盘读取多个大页面并执行多个范围搜索。程序从几个页面读取,然后将查询结果写入输出页面。我必须保持输出的顺序,使其与输入的顺序相对应。
但是,程序在多次读取后变得很慢,我正在考虑使用多线程程序一次运行多个搜索。我有 4 核 Linux 机器,我想有两个程序线程。这是个好主意吗?以及如何维护输出文件的顺序?锁无济于事,因为我不知道哪个线程会先完成。
如果这是个好主意,我该怎么做?
谢谢
更新:这必须在不使用任何类型的 SQL 库的情况下完成。
【问题讨论】:
-
程序是否花费更多时间读取文件或处理数据?如果阅读,多核将无济于事。获取多个磁盘或 SSD 可能会有所帮助。
-
阅读是问题
标签: c++ multithreading io stream bigdata