美文网首页
多线程在项目中使用

多线程在项目中使用

作者: saplingdan | 来源:发表于2018-07-24 23:08 被阅读24次

需求: 从三个网络请求中拿到数据后才能刷新页面?

使用线程组


dispatch_group_t group = dispatch_group_create();

// data1

dispatch_group_enter(group);

[NetworkAPI getData1WithCompletionHandler:^(id obj) {

        self.data1 = obj;

        dispatch_group_leave(group);

    }errorHandler:^(NSError*error) {

        dispatch_group_leave(group);

    }];

 // data2

dispatch_group_enter(group);

[NetworkAPI getData2WithCompletionHandler:^(id obj) {

        self.data2 = obj;

        dispatch_group_leave(group);

  }errorHandler:^(NSError*error) {

        dispatch_group_leave(group);

  }];

// data3

dispatch_group_enter(group);

[NetworkAPI getData3WithCompletionHandler:^(id obj) {

        self.data3 = obj;

        dispatch_group_leave(group);

    }errorHandler:^(NSError*error) {

        dispatch_group_leave(group);

    }];

    dispatch_group_notify(group, dispatch_get_main_queue(), ^{

        self.view.data = @[self.data1, self.data2, self.data3];

    });

dispatch_group_enter会对group的内部计数加一,dispatch_group_leave会对group的内部计数减一,就类似以前的retain和release方法。说白了也是维护了一个计数器。

相关文章

  • 多线程场景pymysql线程池使用的一点总结

    最近在做的项目中有用到pymysql线程池的使用,并且是在多线程场景下使用,使用过程中实际跑多线程遇到了一些错误,...

  • ThreadLocal实现原理和最佳实践

    ThreadLocal在多线程项目中使用很多,简化了多线程对资源的使用, ThreadLocal常用场景 适用于每...

  • springboot多任务并行+线程池处理+等待获取执行结果

    在日常的开发项目过程中,时常会有多线程的使用场景。最近开发的需求中也是如此,只不过这次需要开启多线程去执行,最后要...

  • Celery 4.3.0 在task中执行多线程任务

    测试Celery任务能否使用多线程 在开发的调试过程中,发现如果在django项目里面或者celery的task中...

  • 078-Spring Boot 多线程支持 @EnableAsy

    在项目中使用多线程,除了常用的构建一个线程池工具类,在springboot中,还可以使用注解来实现,看下面的例子。...

  • jvm调试工具类使用 (jvisualvm.exe)

    目标:使用JDK自带的JVM监测工具调试内存使用情况及堆栈问题排查 简要说明:在实际项目开发过程中,如果使用多线程...

  • springboot线程池

    什么时候在项目中使用线程池 项目中有的任务耗时长,造成项目一直阻塞运行中。 多线程任务之间不需要协同的关系。 将耗...

  • 多线程在项目中使用

    需求: 从三个网络请求中拿到数据后才能刷新页面? 使用线程组 dispatch_group_t group = d...

  • java的多线程机制

    在项目中,经常会使用到多线程,例如android本身封装了handler来进行多线程通信,平时会用到eventbu...

  • 09-多线程之GCD

    我们平时在项目开发过程中经常会用到多线程相关的技术,经常会使用多线程来进行网络请求和数据传输等操作,OC中创建多线...

网友评论

      本文标题:多线程在项目中使用

      本文链接:https://www.haomeiwen.com/subject/gsxxlttx.html