iOS dispatch_set_target_queue 详解
2016-07-16 14:20
369 查看
dispatch_set_target_queue有两个作用,1是修改队列的优先级
下面的实例代码就修改了队列的优先级,队列创建出来后,优先级都是默认的,可以通过
dispatch_set_target_queue来修改优先级。
2.让不同任务在同一个串行线程运行,下面演示了在并行线程运行的例子,表明在并行线程dispatch_set_target_queue 不能让任务按顺序执行
// // ViewController.m // test_dispatch_o1 // // Created by jeffasd on 16/7/13. // Copyright © 2016年 jeffasd. All rights reserved. // #import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; } - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ dispatch_queue_t targetQueue = dispatch_queue_create("test.target.queue", DISPATCH_QUEUE_SERIAL); // dispatch_queue_t targetQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0); dispatch_queue_t queue1 = dispatch_queue_create("test.1", DISPATCH_QUEUE_SERIAL); dispatch_queue_t queue2 = dispatch_queue_create("test.2", DISPATCH_QUEUE_SERIAL); dispatch_queue_t queue3 = dispatch_queue_create("test.3", DISPATCH_QUEUE_SERIAL); dispatch_set_target_queue(queue1, targetQueue); dispatch_set_target_queue(queue2, targetQueue); dispatch_set_target_queue(queue3, targetQueue); dispatch_async(queue1, ^{ NSLog(@"1 in"); [NSThread sleepForTimeInterval:3.f]; NSLog(@"1 out"); }); dispatch_async(queue2, ^{ NSLog(@"2 in"); [NSThread sleepForTimeInterval:2.f]; NSLog(@"2 out"); }); dispatch_async(queue3, ^{ NSLog(@"3 in"); [NSThread sleepForTimeInterval:1.f]; NSLog(@"3 out"); }); } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end
相关文章推荐
- 加载外部obj(gcpuid.obj)文件的方法
- android uiautomator自动化测试记录
- ArrayDeque类源码解析
- stl_tree.h/insert_unique()
- Re: Programming in C with Bluetooth Sockets
- 7、easyui 表单
- 李洪强iOS开发拓展篇—UIDynamic(重力行为+碰撞检测)
- Looper Handler MessageQueue Message 探究
- warning: incompatible implicit declaration of built-in function ‘exit’
- UESTC 1074 秋实大哥搞算数 栈模拟
- 键值观察 Key-Value Observing Programming Guide
- KVO键值观察 Key-Value Observing自动发通知的方法
- Distinct Subsequences
- leetcode 347. Top K Frequent Elements
- GetSystemInfo and VirtualQuery
- 记一次UICollectionView中visibleCells的坑
- 96. Unique Binary Search Trees
- APUE读书笔记-第五章 标准I/O库
- [hdu 1711] Number Sequence [kmp]
- request对象