Sus*_*tha 2 concurrency multithreading background-process ios
我想在一个单独的线程中在后台运行6秒后运行任务.我用这个代码.
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 6 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
[self getUnsyncNamesFromServer];
}
Run Code Online (Sandbox Code Playgroud)
我不确定这是在后台线程中运行的.我是否需要为此目的使用dispatch_async.对于这种情况,最好的方法是什么?
dispatch_async是你想要的.在您使用的代码中,块内的方法将在主队列上经过6秒.
对于后台队列,请使用以下命令:
__weak typeof(self) weakSelf = self;
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND,0), ^{
[weakSelf getUnsyncNamesFromServer];
});
Run Code Online (Sandbox Code Playgroud)
如需进一步参考,请参阅GCD Apple Doc:https://developer.apple.com/library/ios/documentation/Performance/Reference/GCD_libdispatch_Ref/Reference/reference.html#//apple_ref/c/func/dispatch_async
| 归档时间: |
|
| 查看次数: |
5502 次 |
| 最近记录: |