dispatch_apply,可以并发的循环迭代,性能上可以提高,前提是循环不在乎迭代的顺序 如果不想让在当前线程参与迭代任务,可以把整个迭代任务包含在一个新的线程中 (优先采用此方式), 如: 但此方式需要注意一个问题,就是新开的线程包含的迭代任务,不要是同一个队列,要不然整个迭代任务会在同一个线 ...
分类:
移动开发 时间:
2017-09-02 21:50:28
阅读次数:
219
一段清理缓存的代码例如以下: dispatch_async( dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0) , ^{ NSString *cachPath = [NSSearchPathForDirectoriesInDom ...
分类:
移动开发 时间:
2017-07-23 12:41:38
阅读次数:
202
代码: -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ ...
分类:
移动开发 时间:
2017-05-20 18:22:48
阅读次数:
291
背景:代码里面有时候会把将要运行的内容放到主线程里面运行,但假设已经是主线程里面的代码调用dispatch_async的时候偶尔会出现crash,所以就须要推断是否已经在主线程里面了。通常的做法类似于以下所代码: ...... if ([NSThread isMainThread]) { block ...
分类:
编程语言 时间:
2017-05-06 13:20:58
阅读次数:
153
代码: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. //GCD的用法 dispatch_async(dispatch_get_global_queue(DI ...
分类:
移动开发 时间:
2017-04-12 09:42:15
阅读次数:
241
func exitApplication() { let app = UIApplication.sharedApplication().delegate as! AppDelegate let window = app.window dispatch_async(dispatch_get_main... ...
分类:
其他好文 时间:
2017-03-21 10:12:37
阅读次数:
132
Win32: GetMessage, DispatchMessage, SendMessage, WinProc。 Android: Handler, Looper, Thread。 OC: dispatch_async。 ...
分类:
移动开发 时间:
2017-02-02 10:49:48
阅读次数:
243
// 全局队列 异步下载图片 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { dispatch_async(dispatch_get_global_queue(0, 0), ^{ NSLog(@"%@", [NST ...
分类:
其他好文 时间:
2017-01-06 21:50:55
阅读次数:
373
1-GCDblockblock dispatch_async(dispatch_get_main_queue(), ^{ }); 2-NSOperation NSOperationQueue *mainQueue = [NSOperationQueue mainQueue]; NSBlockOper ...
分类:
编程语言 时间:
2016-11-17 01:51:16
阅读次数:
194
1、全局异步执行耗时任务 dispatch_async(dispatch_get_global_queue(0, 0), ^{ }); 2.主线程异步刷新UI dispatch_async(dispatch_get_main_queue(), ^{ }); 3.改变PlaceHolder的颜色 [u ...
分类:
编程语言 时间:
2016-11-17 01:25:01
阅读次数:
181