1.异步串行读取文件
NSString *desktop = @"/Users/XXX/Desktop";
NSString *path = [desktop stringByAppendingPathComponent:@"main.m"];
dispatch_queue_t queue = dispatch_queue_create("queue", NULL);//当设置为并行队列时在读取文件时实际还是串行
dispatch_fd_t fd = open(path.UTF8String, O_RDONLY, 0);
dispatch_io_t io = dispatch_io_create(DISPATCH_IO_STREAM, fd, queue, ^(int error) {
close(fd);
});
size_t water = 1024*1024;
dispatch_io_set_low_water(io, water);