Runloop理解

Runloop的作用:
1、保持程序持续运行:例如程序一启动就会开一个主线程,主线程一开起来就会跑一个主线程对应的 RunLoop , RunLoop 保证主线程不会被销毁,也就保证了程序的持续运行;
2、处理 App 中的各种事件(比如:触摸事件,定时器事件,Selector事件等 );
3、节省CPU资源,优化程序性能:程序运行起来时,当什么操作都没有做的时候,RunLoop就通知系统,现在没有事情做,然后进行休息待命状态,这时系统就会将其资源释放出来去做其他的事情。当有事情做,也就是一有响应的时候RunLoop就会立马起来去做事情;

每个线程对应一个runloop。主线程默认使用mainrunloop。自己创建的线程,默认不创建runloop,需要自己调用[[nsrunloop currentrunloop] start]启用

你可能感兴趣的:(Runloop理解)