您现在的位置是:主页 > news > 随州网站建设/清远今日头条最新消息

随州网站建设/清远今日头条最新消息

admin2025/5/7 17:14:43news

简介随州网站建设,清远今日头条最新消息,美橙网站设计,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(主线程除外)。