dispatch_queue_t serial = dispatch_queue_create("Lj", DISPATCH_QUEUE_SERIAL); dispatch_queue_t conque = dispatch_queue_create("Lj", DISPATCH_QUEUE_CONCURRENT); dispatch_queue_t mainQueue = dispatch_get_main_queue(); dispatch_queue_t globQueue = dispatch_get_global_queue(0, 0); NSLog(@"...
全局并发队列 :dispatch_get_global_queue会使栅栏函数失效 栅栏函数使用 同步栅栏函数 dispatch_queue_t concurrentQueue=dispatch_queue_create("cooci",DISPATCH_QUEUE_CONCURRENT);/* 1.异步函数 */dispatch_async(concurrentQueue,^{NSLog(@"1");});dispatch_async(concurrentQueue,^{NSLog(@"2");});/* 2. ...
#并行先执行异步,再执行同步的结果:顺序已经完全各种乱入了! 3、全局队列(DISPATCH_QUEUE_PRIORITY_DEFAULT):开发中用这个就对了dispatch_get_global_queue #全局队列先执行同步,再执行异步的结果:实际上结果是和并列的都一样的效果 4、主线程队列:dispatch_get_main_queue[主队列中添加的同步操作永远不会被执⾏...
为兼容ios7和ios8,全局并行队列为: dispatch_queue_t q = dispatch_get_global_queue(0, 0);
dispatch_queue_t queue = dispatch_get_global_queue(0,0); 串行队列(Serial Dispatch Queue) 让任务一个接着一个地执行(一个任务执行完毕后,再执行下一个任务) dispatch_queue_t queue = dispatch_queue_create("myqueu", DISPATCH_QUEUE_SERIAL); ...
// 全局队列,一个特殊的并行队列dispatch_get_global_queue// 主队列,在主线程中运行,因为主线程只有一个,所以这是一个特殊的串行队列dispatch_get_main_queue复制代码 除此之外,还可以自己生成队列 // 从DISPATCH_QUEUE_SERIAL看出,这是串行队列dispatch_queue_create("com.demo.serialQueue", DISPATCH_QUEUE_SERI...
dispatch_async_f(dispatch_get_global_queue(0, 0), nil, task); } void task (void *param) { NSLog(@"downloadTask---%@",[NSThread currentThread]); } 1. 2. 3. 4. 5. 6. 7. dispatch_async_f(_, _, _);这个函数的三个参数我分别传入 一个全局...
Global Queues可以通过dispatch_get_global_queue(dispatch_queue_priority_t priority,unsigned long flags)语句获取到,priority是优先级,优先级有DISPATCH_QUEUE_PRIORITY_HIGH、DISPATCH_QUEUE_PRIORITY_DEFAULT、DISPATCH_QUEUE_PRIORITY_LOW、DISPATCH_QUEUE_PRIORITY_BACKGROUND四种:flags是保留字段,现阶段传入0即可。
取钱存钱的测试(多线程安全的隐患)-(void)moneyTest{self.moneyCount = 100;dispatch_queue_t queue = dispatch_get_global_queue(0, 0);dispatch_async(queue, ^{for (int i = 0; i<10; i++) {// 存钱[self saveMoney];}});dispatch_async(queue, ^{for (int i = 0; i<10; i++) {//...
dispatch_queue_tqueue= dispatch_queue_create("this.is.a.queue", DISPATCH_QUEUE_SERIAL); dispatch_sync(queue, ^{ NSLog(@"111"); }); 异步任务: dispatch_queue_tqueue= dispatch_queue_create("this.is.a.queue", DISPATCH_QUEUE_SERIAL); ...