子线程的使用方法:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ //子线程的处理逻辑 });
DISPATCH_QUEUE_PRIORITY_DEFAULT 代表队列的优先级,包含以下参数
DISPATCH_QUEUE_PRIORITY_HIGH,
DISPATCH_QUEUE_PRIORITY_LOW,
DISPATCH_QUEUE_PRIORITY_BACKGROUND
0 是一个保留值,暂时没有任何效果,默认传个0就可以了
主线程的使用方法:
dispatch_async(dispatch_get_main_queue(), ^{ //主线程的处理逻辑 });
如果子线程里面还需要更新一些UI之类的操作,这个时候就需要在主线程里面去完成,就是说子线程里面可以嵌套主线程,具体的使用方法如下:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ //子线程的处理逻辑 dispatch_async(dispatch_get_main_queue(), ^{ //主线程更新UI之类的操作 }); });
时间: 2024-09-30 22:55:27