NSThread NSRunloop
来源:互联网 发布:宁夏干部网络培训学员 编辑:程序博客网 时间:2024/06/04 19:14
首先需要搞清楚两个概念
线程:处理器分配的最小单位;一个计算机同时运行着多个进程,一个进程同时又包含多个线程。线程的好处是,可以并发执行多个任务(由处理器时间片功能支持)。
举例;当我们修水管,有两种方案:
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
有助于理解(应用框架)消息队列的工作方式:从消息队列中用同步的方式读取消息,如果有消息(事件)则进入消息处理函数,没有则阻塞
地址:http://hi.baidu.com/qinfengxiaoyue/item/7074d35e40312b1caaf6d7c3
- NSThread NSRunloop
- nstimer,nsrunloop,nsthread,nstask
- NSThread 、NSRunLoop 和 Dispatch Queue
- NSThread 、NSRunLoop 和 Dispatch Queue
- NSThread 、NSRunLoop 和 Dispatch Queue
- NSThread 、NSRunLoop 和 Dispatch Queue
- 多线程介绍:NSThread 、NSRunLoop 和 Dispatch Queue
- Controlling How NSThread and NSRunLoop Exit
- Controlling How NSThread and NSRunLoop Exit
- NSTimer、 NSTask、 NSThread 和 NSRunloop 之间的区别:
- NSTimer、 NSTask、 NSThread 和 NSRunloop 之间的区别
- NSTimer、 NSTask、 NSThread 和 NSRunloop 之间的区别
- NSTimer、 NSTask、 NSThread 和 NSRunloop 之间的区别:
- 控制线程(NSThread)和运行时循环(NSRunLoop)的退出
- 控制线程(NSThread)和运行时循环(NSRunLoop)的退出
- NSRunLoop
- nsrunloop
- NSRunloop
- 常用JS
- FOLDER文件夹开发,工具为空
- (转)固定表格标题行或列头
- Java.awt.Robot类
- mysql日志打开
- NSThread NSRunloop
- 代码的坏味道之二 :Long Method(过长函数)
- Android 如何监听返回键,弹出一个退出对话框
- WinSocket套接字关于Connect函数通过GetLastError 返回10038或者(在一个非套接字上尝试了一个操作)
- c#会游泳的鱼
- c# 操作Sqlite数据库
- 数学词汇表
- Unity3D计算角色与物体之间的距离来触发动画【脚本】
- linux 下 .sh 文件语法