NSThread学习及相关线程锁学习

看完别人的文章了。。自己再总结一下。具体下载demo 在文章结尾

NSThread 简介

NSThread是苹果提供的面向对象的线程操作。相对于GCD、NSOperation更加灵活,可控性更高。

NSThread 使用

最常用的方法, 获取当前线程对象

[NSThread currentThread];

最简单的使用

+ (void)detachNewThreadWithBlock:(void (^)(void))block API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0));
+ (void)detachNewThreadSelector:(SEL)selector toTarget:(id)target withObject:(nullable id)argument;

需要注意的是,这两个方法,不返回NSThread对象,所以无法进行控制。并且是立即执行的,不需要使用start方法(start方法下面讲)。 当这两个方法,执行结束后,系统会及时销毁这两个线程。可以通过NSThreadWillExitNotification观察到休眠情况,通知是在,该线程休眠前执行的。也就是说通知中的方法执行完毕,就开始睡觉了~

其中,里面这个3,我很迷,,因为它虽然触发了exit的通知,但是你看左边,还是活跃中的,但是!你等一会。。它就自己消失了。但是并没有再次触发exit..希望有知道的大佬告知一下。

你可能感兴趣的:(实用小技巧)