一些常用的API
1 | //异步执行一个线程 |
处理线程的API,有涉及到暂停,挂起,恢复,取消,等待、延迟执行,线程组,同步和异步 ,死锁,只执行一次,等系列的概念出现。这些概念大部分是对于处理线程和任务。
1 | dispatch_time_t |
当线程过多时候,会引发内存问题。导致系统内存开销过多,效率降低。
同样多线程在更新相同一个资源的时候,会造成数据竞争的问题。
同步执行的时候容易出现死锁的问题,导致UI卡顿的问题发生。
系统提供了标准的Dispatch Queue
1.Main Dispatch Queue
2.Global Dispatch Queue
通过dispatch_get_global_queue 可以获取到不同等级的线程
通过dispatch_get_main_queue 获取主线程
刷新UI操作必须在主线程
1 | dispatch_async(dispatch_get_global_queue(0,0),^{ |
构建一个单例
1 | +(SingleManager) shareManager |
延迟执行某些任务
1 | MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES]; |