NSThread NSRunloop

首先需要搞清楚两个概念

线程:处理器分配的最小单位;一个计算机同时运行着多个进程,一个进程同时又包含多个线程。线程的好处是,可以并发执行多个任务(由处理器时间片功能支持)。

举例;当我们修水管,有两种方案:

1、自己出去材料,回来自己修,这个时候你只能干一件事情

2、打电话出去求助,同时你自己可以干自己的事情,等到维修人员来装。(另一种情况,维系人员把材料带来你自己装)

第一种方式很容易理解,现在讨论第二种方式。


当送餐到了你必须停下自己手中的事情,在计算机中是如何实现这个过程的。

1、维修人员自己装,这个时候要考虑的问题是,如果他来的时候,你刚好正在自己修,这个时候他只能等你停下来,他才能操作,也就是我么所说的临界资源的访问。(这种情况回调是在另外一个线程,也就是维修人员那个线程)


2、维系人员送来了,你自己装。这个时候要考虑的是维修人员与你交互材料的过程,也就是我们所说的线程间通信的过程。(这个时候维修的操作还是在你自己的线程中)



现在讨论 NSThread NSRunloop:

每个线程如果需要监听外部消息就需要有一个nsrunloop,注册了你感兴趣的事件,否则即使别人发消息给你你也不理解要是干什么。


参考地址:http://www.cnblogs.com/jy578154186/archive/2013/02/26/2933974.html

关于Dispatch Source

http://www.cnblogs.com/zhw511006/archive/2012/04/06/2434714.html


有助于理解(应用框架)消息队列的工作方式:从消息队列中用同步的方式读取消息,如果有消息(事件)则进入消息处理函数,没有则阻塞

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值