通过在RunLoop添加NSMachPort port,(添加Source Timer Observe),线程就会进入休眠
NSRunLoop *runLoop = [NSRunLoop currentRunLoop];
// 往RunLoop里面添加Source\Timer\Observer,Port相关的是Source1事件
//添加了一个Source1,但是这个Source1也没啥事,所以线程在这里就休眠了,不会往下走,----end----一直不会打印
[runLoop addPort:[NSMachPort port] forMode:NSRunLoopCommonModes];
[runLoop run];
对保活的线程进去回收
停止RunLoop
/ 设置标记为NO
self.stopped = YES;
// 停止RunLoop
CFRunLoopStop(CFRunLoopGetCurrent());
[self.thread cancel];
//解决循环引用问题
self.thread = nil;
NSLog(@"%s %@", __func__, [NSThread currentThread]);