mmap使用多线程为什么不加速?

我写了一个线程池,可以并行运行任务,我保证任务之间独立(共用了几个单例变量,只读),这些任务都是用mmap播放文件里的内容,然后处理,我测试下来多线程…
关注者
4
被浏览
1,645

3 个回答

看看是否是io bound的任务呢?

使用iotop查看是否有硬盘活动。

使用pidstat查看process占用的时间

磁盘可以考虑是一个单线程的任务!如果磁盘任务一直都是满的,多线程不会有用。如果多线程能够让磁盘少空闲时间 ,那么速度就可以提升。

共享内存应该是靠中断指令工作的,多线程调度和它很不配。