您现在的位置是:主页 > news > 随州网站建设/清远今日头条最新消息
随州网站建设/清远今日头条最新消息
admin2025/5/7 17:14:43【news】
简介随州网站建设,清远今日头条最新消息,美橙网站设计,wordpress怎么修改密码1.什么是Runloop runloop是用来处理事件的循环。NSRunloop是CFRunloop的封装,CFRunloop是一套C接口。 2.Runloop的作用 保持程序持续运行,程序一启动就会开一个主线程,主线程一开起来就会跑一个主线程对应的RunLoop,RunLoop保证主线程不会被销毁&#…
随州网站建设,清远今日头条最新消息,美橙网站设计,wordpress怎么修改密码1.什么是Runloop runloop是用来处理事件的循环。NSRunloop是CFRunloop的封装,CFRunloop是一套C接口。
2.Runloop的作用
保持程序持续运行,程序一启动就会开一个主线程,主线程一开起来就会跑一个主线程对应的RunLoop,RunLoop保证主线程不会被销毁&#…
1.什么是Runloop
runloop是用来处理事件的循环。NSRunloop是CFRunloop的封装,CFRunloop是一套C接口。
2.Runloop的作用
- 保持程序持续运行,程序一启动就会开一个主线程,主线程一开起来就会跑一个主线程对应的RunLoop,RunLoop保证主线程不会被销毁,也就保证了程序的持续运行
- 处理App中的各种事件(比如:触摸事件,定时器事件,Selector事件等)
- 节省CPU资源,提高程序性能,程序运行起来时,当什么操作都没有做的时候,RunLoop就告诉CPU,现在没有事情做,我要去休息,这时CPU就会将其资源释放出来去做其他的事情,当有事情做的时候RunLoop就会立马起来去做事情。
3.runloop的构成
- CFRunLoopRef //runloop对象
- CFRunLoopModeRef//运行模式
- CFRunLoopObserverRef
- CFRunLoopTimerRef
- CFRunLoopSourceRef
struct __CFRunLoop {pthread_t _pthread;//线程CFMutableSetRef _commonModes; // commonModes下的两个mode(kCFRunloopDefaultMode和UITrackingMode)CFMutableSetRef _commonModeItems; // 在commonModes状态下运行的对象(例如Timer)CFMutableSetRef _modes; // 运行的所有模式(CFRunloopModeRef类)CFRunLoopModeRef _currentMode;//在当前loop下运行的mode...
};struct __CFRunLoopMode {CFStringRef _name; // Mode Name, 例如 @"kCFRunLoopDefaultMode"CFMutableSetRef _sources0; // SetCFMutableSetRef _sources1; // SetCFMutableArrayRef _observers; // ArrayCFMutableArrayRef _timers; // Array...
};
4.Runloop的消息处理流程
消息的流程是“接收消息->恢复活跃->处理消息->进入休眠“。
5.runloop与线程
线程和 RunLoop 之间是一一对应的,其关系是保存在一个全局的 Dictionary 里。线程刚创建时并没有 RunLoop,如果你不主动获取,那它一直都不会有。RunLoop 的创建是发生在第一次获取时,RunLoop 的销毁是发生在线程结束时。你只能在一个线程的内部获取其 RunLoop(主线程除外)。