
runloop
runloop实用笔记,工作中经常遇到的一些问题分析处理
优惠券已抵扣
余额抵扣
还需支付
¥39.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
北方人深漂
公众号:编程微享
知乎主页:http://www.zhihu.com/people/qi-fu-18-79
展开
-
我们一起看一个多线程面试题一
以上图中所示题目,要想打印 2 的话,则可以通过以下几种方法实现:方式一:添加运行循环:dispatch_queue_t queue = dispatch_get_global_queue(0, 0); dispatch_async(queue, ^{ NSLog(@"1"); //下述代码本质是往runloop中添加定时器,因为是在block中执行,异步新建子线程默认不开启runloop,所以此处下面代码不会执行 .原创 2020-10-29 14:39:43 · 126 阅读 · 0 评论 -
线程保活进化版
A->B ,界面从A到B在B中开启一个子线程://创建线程2 self.stopped = NO; __weak typeof(self) wself = self; self.thread = [[GHThread alloc]initWithBlock:^{ NSLog(@"%s--begin--%@",__func__,[NSThread currentThread]); [[NSRunLoop cu原创 2020-10-27 16:25:10 · 116 阅读 · 0 评论 -
线程保活《二》
如若一个子线程开启是在一个view或者vc中,那么当vc或者view销毁后,那么其线程应该也随着销毁。A->B ,界面从A到B在B中开启一个子线程://创建线程 self.thread = [[GHThread alloc]initWithBlock:^{ NSLog(@"%s--begin--%@",__func__,[NSThread currentThread]); [[NSRunLoop currentRunL原创 2020-10-27 12:51:59 · 150 阅读 · 0 评论 -
这样做线程的保活
有时在工作中会遇到这种情况,我们开启了一个子线程,不希望它销毁,希望它可以一直存在,常驻后台或前台,但又不希望它一直工作,只有需要它的时候唤醒它,不需要它的时候让它休眠,这样当有问题要处理的时候,我们可以直接拿过来使用,不需要再重新开启新的子线程。这里我们使用runloop来解决这个问题:我们先创建一个类来监测线程是否被销毁:.h#import <Foundation/Foundation.h>@interface MJThread : NSThread@end.m#imp原创 2020-10-27 09:17:28 · 288 阅读 · 0 评论 -
runloop处理scrollview滚动时定时器失效的问题及runloop与timer的关系
static int count = 0;NSTimer *timer = [NSTimer timerWithTimeInterval:1 repeats:YES block:^(NSTimer * _Nonnull timer) { NSLog(@"%d",++count); }]; [[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];由于NSTi.原创 2020-10-26 16:36:26 · 380 阅读 · 0 评论 -
runloop再探
runloop运行逻辑runloop休眠的实现原理:用户操作的是应用层面api,然后反馈到底层的是内核层面的api。有消息就唤醒发消息唤醒内核,处理用户操作反馈的消息,没有消息内核会让线程自动休眠。...原创 2020-10-26 16:26:20 · 93 阅读 · 0 评论 -
Runloop初探笔记
OC版runloop是C版CFRunLoopRef的封装:- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. NSLog(@"%p----%p", [NSRunLoop currentRunLoop],[NSRunLoop mainRunLoop]); NSLog(@"%原创 2020-10-26 16:10:42 · 139 阅读 · 0 评论