Dispatch I/O 文件读取

本文介绍了如何利用Dispatch I/O在iOS中实现异步串行和并行读取文件的方法。通过创建串行和并行队列,结合dispatch_io API,实现了高效的数据读取。在串行读取中,文件被一次性读取;而在并行读取中,文件被分成多个部分并行读取,最后合并成完整的数据。
摘要由CSDN通过智能技术生成

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);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值