多线程读取文件分析
分析结果:
平台
|
文件操作函数
|
场景
|
文件句柄
|
稳定性
| 平均时间
单位秒
|
Windows
| fopen
fread
| 100个线程,
每个线程读取
10M
|
100
个线程共用一个句柄
|
存在问题,指针乱跳
|
无
|
每个线程一个新句柄
|
正常
|
1.475->1.144
| |||
1 个线程,
循环
100
次读取
10M
|
正常
|
0.753
| |||
open read
| 100个线程,
每个线程读取
10M
|
100
个线程共用一个句柄
|
存在问题,指针乱跳
|
无
| |
每个线程一个新句柄
|
正常,有事一次
read
不能读完所需要的数据,需要多次读
|
2.334->2.120
| |||
1 个线程,
循环
100
次读取
10M
|
正常
|
1.91
| |||
WIN API
| 100 个线程,
每个线程读取
10M
,每个线程一个新句柄
|
正常
|
1.477
| ||
| |||||
Linux
|
fopen fread
| 100个线程,
每个线程读取
10M
|
100
个线程共用一个句柄
|
存在问题,指针乱跳
|
无
|
每个线程一个新句柄
|
正常
|
2.32
à
4.61
| |||
1 个线程,
循环
100
次读取
10M
|
正常
|
0.380
| |||
open read
| 100个线程,
每个线程读取
10M
|
100
个线程共用一个句柄
|
存在问题,指针乱跳
|
无
| |
每个线程一个新句柄
|
正常,有事一次
read
不能读完所需要的数据,需要多次读
|
2.430->4.59
| |||
1 个线程,
循环
100
次读取
10M
|
正常
|
0.370
|
仅供参考。