iOS多线程 GCD
来源:互联网 发布:sed linux 编辑:程序博客网 时间:2024/06/11 20:22
iOS多线程 GCD
创建
dispatch_queue_t otherQ = dispatch_queue_create(“name”, NULL);//NULL默认串行队列
获取主队列
dispatch_queue_t mainQ = dispatch_get_main_queue();NSOperationQueue *mainQ = [NSOperationQueue mainQueue]; // for object-oriented APIs
插入代码块到队列
dispatch_queue_t queue = ...;dispatch_async(queue, ^{ });
向主队列插入方法
- (void)performSelectorOnMainThread:(SEL)aMethod withObject:(id)obj waitUntilDone:(BOOL)waitUntilDone; //相当于dispatch_async(dispatch_get_main_queue(), ^{ /* call aMethod */ });
示例 iOS API 使用多线程
在主线程
NSURLSession *session = [NSURLSession sessionWithConfiguration:configuration //delegate如果设置成self,会在下载时候一直得到下载信息。例如下载了多少字节,下载位置。但是此时只关心下载是否完成。所以设置nil。 delegate:nil <span style="color:#ff0000;">delegateQueue:[NSOperationQueue mainQueue]];</span> NSURLSessionDownloadTask *task; task = [session downloadTaskWithRequest:request completionHandler:^(NSURL *localfile, NSURLResponse *response, NSErr or *error) {/* yes, can do UI things directly because this is called on the main queue */ }]; [task resume];
NSURLSession *session = [NSURLSession sessionWithConfiguration:configuration]; <span style="color:#ff0000;">// no delegateQueue</span> NSURLSessionDownloadTask *task; task = [session downloadTaskWithRequest:request completionHandler:^(NSURL *localfile, NSURLResponse *response, NSError *error) { dispatch_async(dispatch_get_main_queue(), ^{ /* do UI things */ }); or [self performSelectorOnMainThread:@selector(doUIthings) withObject:nil waitUntilDone:NO]; }]; [task resume];
0 0
- IOS 多线程 GCD
- GCD ios多线程 runloop
- ios学习 -- GCD多线程
- iOS多线程GCD
- iOS GCD 多线程
- iOS多线程GCD
- iOS多线程GCD
- GCD ios多线程 runloop
- iOS 多线程之----------GCD
- IOS多线程之GCD
- iOS多线程GCD
- iOS 多线程3 GCD
- IOS多线程GCD
- GCD ios多线程 runloop
- IOS 多线程之GCD
- ios多线程-GCD
- iOS多线程GCD
- GCD ios多线程 runloop
- java.io.Reader 和 java.io.InputStream的区别
- 栈-java实现
- 美团外卖前端实习生面试总结
- 【BZOJ3671】[Noi2014]随机数生成器【模拟】【贪心】【卡空间】
- Jereh教育助我梦起航
- iOS多线程 GCD
- 自定义AndroidStudio中的默认Header信息
- unity下的www类
- Linux中awk抽取包含某字段的整行日志
- java多线程的实现
- 移动端js触摸事件
- 对象基础创建对象(一)
- Caffe源码(一):math_functions 分析
- lbqianwoqiankuaihuanqianburanwojiushasi