生产者/消费者 - I / O盘

时间:2010-06-06 22:39:36

标签: multithreading producer-consumer

我在磁盘中有一个压缩文件,分区为块。我从磁盘读取一个块将其解压缩到内存并读取数据。

可以创建一个生产者/消费者,一个从磁盘恢复压缩块并放入队列的线程和另一个解压缩和读取数据的线程?

表现会更好吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

我怀疑解压缩数据的线程会花费大部分时间等待从磁盘读取压缩块的线程。

如果CPU限制的解压缩时间长于读取磁盘块的IO限制,我会感到惊讶。

答案 1 :(得分:0)

是的,可以这样设置。您是否会看到性能提升在很大程度上取决于计算机,您正在使用解压缩数据执行的确切性质等等。如果不是太麻烦,并且您的数据集很大,我建议您这样做测量,看它是否更快。如果不出意外,它类似于你需要做的工作来利用某种map-reduce框架。

相关问题