美文网首页
NSNotification 是队列结构,同步处理,会阻塞线程

NSNotification 是队列结构,同步处理,会阻塞线程

作者: 私人云笔记_骁勇波波 | 来源:发表于2018-03-20 17:12 被阅读0次

1.NSNotification 通知中心有一个队列,先添加先处理,多个控制器监听同一个通知时,按照添加顺序进行操作: 

A ViewController push B ViewController , B ViewController push C ViewController, 在C 中发送通知,执行顺序为: A 接受通知并处理,然后B,然后 C, 都处理完后才会处理发送通知位置后面的代码,由此说明通知执行是同步的,阻塞的。

2.将通知处理由同步改为异步的两种方法:

1)放到异步全局队列中处理接到通知后的内容

2)使用NSNotificationQueue的队列方法发送通知。

详见如下转载:

 http://blog.csdn.net/xubinlxb/article/details/52073803

相关文章

  • NSNotification 是队列结构,同步处理,会阻塞线程

    1.NSNotification 通知中心有一个队列,先添加先处理,多个控制器监听同一个通知时,按照添加顺序进行操...

  • Swift GCD 的串行队列与并行队列

    队列异步是否阻塞当前线程同步是否阻塞当前线程执行顺序串行队列否是按添加顺序并行队列否是同时执行,但会被同步阻塞 串...

  • GCD 串行队列并行队列和同步派发异步派发

    串行队列 异步派发 不会造成线程阻塞,但是会依次执行派发任务 同步派发 依次执行派发任务,会阻塞线程 先异步派发再...

  • 同步、异步与串行、并发

    1、同步、异步描述的是当前线程或代码流是否要阻塞以等待加入队列的任务执行完毕;同步要阻塞当前线程,异步不会阻塞当前...

  • 阻塞队列

    BlockingQueue线程池的数据结构是阻塞队列BlockingQueue。(在多线程领域:所谓阻塞,在某些情...

  • 8,setTimeout、Promise、Async/Await

    KeyWords:宏(微)任务队列、阻塞非阻塞(强调线程状态)、同步异步强调一种“机制”任务是连续的(同步)、不连...

  • 多线程实测01

    1.主线程队列中实测。 a.主线程队列中不能执行同步,线程阻塞。代码中有异步和同步两个执行操作,当同步执行在前时,...

  • 【code_小马】同步与异步

    串行与并行针对的是队列,而异步与同步针对的是线程。最大的区别在于,同步线程要阻塞当前线程,必须要等待同步线程中的任...

  • 阻塞队列和线程池

    1.阻塞队列 1)支持阻塞的插入方法:意思是当队列满时,队列会阻塞插入元素的线程,直到队列不满。2)支持阻塞的移除...

  • 04 AQS 同步队列

    1 数据结构 阻塞的线程存在哪里?AQS内部有一个Node类的FIFO双向队列,AQS依赖它同步状态。假如当前线程...

网友评论

      本文标题:NSNotification 是队列结构,同步处理,会阻塞线程

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