使用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
        }];
  • 断点调试截图:


    断点调试截图

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,148评论 1 32
  • OC语言基础 1.类与对象 类方法 OC的类方法只有2种:静态方法和实例方法两种 在OC中,只要方法声明在@int...
    奇异果好补阅读 4,358评论 0 11
  • 水绕禅窗静,花开佛国香。 ( 竖 图 ) 手工宣纸,毛笔,研磨。
    半樵阅读 718评论 34 29
  • 窗外的天空准时的拉上了厚重的帷幕,伴随着地面灯光的次第亮起,一天中的夜晚时分便到来了。 按照岁月的划分,一年中又去...
    如眉新月阅读 236评论 0 0
  • 1、问题描述:在我们的日常开发生活中,肯定离不开Chrome开发者工具。通过控制台我们可看到资源加载、页面...
    Ruby_min阅读 41,744评论 3 4