使用NSThread和RunLoop封装自定义线程

iOS日常开发中,我们经常需要开多条线程处理不同的事务,比如Network,dataBase操作,frame计算等,为方便调试,快速定位问题线程,我简单封装了一个线程类, 初始化的时候指定线程名,执行同步或者异步的perform即可。

  • 初始化一个名为httpThread的thread对象:
- (CSThread *)httpThread {
    if (_httpThread == nil) {
        _httpThread = [[CSThread alloc] initWithName:@"httpThread"];
    }
    return _httpThread;
}
  • 执行一个异步block:
[self.httpThread asyncPerformBlock:^{
            // code
        }];
  • 执行一个同步block:
[self.httpThread syncPerformBlock:^{
            // code
        }];
  • 断点调试截图:


    使用NSThread和RunLoop封装自定义线程_第1张图片
    断点调试截图

具体实现的小细节可以看源码demo

你可能感兴趣的:(使用NSThread和RunLoop封装自定义线程)