美文网首页
YTKNetwork的指定回调线程缺失

YTKNetwork的指定回调线程缺失

作者: 小马过海 | 来源:发表于2018-09-12 22:19 被阅读0次

AFNetworking指定completionQueue可以指定回调的线程.
YTKNetwork写死了主线程回调,实际可以考虑在YTKBaseRequest上加入completionQueue属性,完成在非主线程上回调block或delegte。
之所以有这个需求,是因为在主线程上需要完成一个同步的调用。要完成这个需求,可以在调用请求后,使用一个锁NSCondition或信号量,将主线程挂起等待, 这时候指定回调block是后台线程完成解锁或发送信号,完成主线程得到结果继续执行。而如果只能是主线程回调,这里显然就出现了主线程在等待block执行锁释放,而block在等待主线程执行的局面了。
信号同步挂起等待,可以使用[RACSignal first]方法

相关文章

  • YTKNetwork的指定回调线程缺失

    AFNetworking指定completionQueue可以指定回调的线程.YTKNetwork写死了主线程回调...

  • iOS 指定事件回调线程

    NSUrlSessionExtension.h NSUrlSessionExtension.m ViewContr...

  • AFN 同步请求

    需要把AFN的回调 放置在子线程 AFN的回调 默认在主线程,如果不把回调设置子线程, 那么 dispatch_s...

  • python 处理多线程返回值

    python线程池有一个回调函数,可以通过回调函数处理线程返回值,线程池的回调函数默认有一个 workWorkRe...

  • 回调,同步异步

    nodejs学习笔记 标签:node 异步 回调 单线程 1. callback 最简单的回调 注意回调的理解:...

  • IM客户端开发(4)——回调线程

    回调线程需要不断地遍历回调队列queue m_hasCallbackMap,一旦回调队...

  • Android ble蓝牙问题

    声明:本文摘抄自博客园 (1)蓝牙回调安卓4.4的蓝牙回调是在异步线程中(不在主线程),若要在蓝牙回调中执行更新界...

  • 蓝牙ble开发注意事项

    (1)蓝牙回调 安卓4.4的蓝牙回调是在异步线程中(不在主线程),若要在蓝牙回调中执行更新界面的操作,记得切换到主...

  • Promise从入门到拿Offer之基本函数简介

    1、什么要使用Promise? 1)指定回调函数的方式更加灵活。原来需要在启动异步任务之前就需指定回调函数;Pro...

  • 不积跬步之手写Promise(中)

    书接上回 8.指定多个回调 这个是什么意思呢? 在原生Promise中有这样一个特性. Promise指定多个回调...

网友评论

      本文标题:YTKNetwork的指定回调线程缺失

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