runloop相关

2018-02-24  本文已影响0人  maoege

runloop总结

1 runloop从字面意思理解是运行循环,跑圈

内部是一个do-while循环,在这个循环内部不断处理各种任务(source,timer,observe)

2每条线程对应一个runloop,主线程runloop默认启动,子线程的runloop需要手动启动

3.runloop只能选择一个mode启动,如果当前mode中没有任何Source,timer,Observe,那么就直接退出runloop

开发中怎么用runloop

开启常驻线程,让一个子线程不进入消亡状态,等待其他线程发消息,处理其他事件

在子线程中开启定时器

在子线程中进行一些长期监控

控制定时器 或者某些事件 在特定模式下执行

可以添加obsever监听runloop的状态

应用举例

1.只在NSDefaultRunLoopMode模式下显示图片

    [self.imageView performSelector:@selector(setImage:)withObject:[UIImage imageNamed:@"placeholder"]afterDelay:3.0 inModes:@[NSDefaultRunLoopMode]];

滚动的时候不加载,停止滑动的时候加载

2.常驻线程  举例子  afnetworking    sockect通讯      扫描沙盒等等

上一篇 下一篇

猜你喜欢

热点阅读