MrD*_*ase 1 iphone multithreading nstimer
假设我的iPhone应用程序中有两个NSTimers: timer1和timer2. timer1每秒调用function1 30次,timer2每秒调用function2 30次.假设这两个函数正在读取和更新相同的整数变量.这里有"多线程"问题吗?如果不是,iPhone OS如何处理两个功能的执行(一般情况下)?
任何iPhone应用程序(以及其他一些平台)的核心都是运行循环.每个线程都可以有一个运行循环,并为您设置主线程上的运行循环.当有事情要做时,比如触发NSTimer或绘制视图层次结构,运行循环执行这些任务.当无事可做时,运行循环处于空闲状态,允许其他事情处理.
运行循环内部是线程感知的,因此运行循环不必处理任何内容.所有NSTimer回调和视图呈现都发生在串行或线性流中的单个线程上.
有关具体细节,您可以查找NSRunLoop或CFRunLoop.
| 归档时间: |
|
| 查看次数: |
984 次 |
| 最近记录: |