码迷,mamicode.com
首页 > 其他好文 > 详细

GCD使用

时间:2014-12-14 23:56:03      阅读:257      评论:0      收藏:0      [点我收藏+]

标签:style   ar   color   使用   sp   strong   on   bs   代码   

Grand Central Dispatch

使用GCD,可以让你的程序不会停止响应.GCD是多线程里用起来最方便的,不需要太复杂的线程管理.

让你的程序保持响应的原则:

1. 不要柱塞主线程

2. 把工作一到其他线程中做。

3. 做完后更新主线程的UI.

没有GCD的代码:

- (void)addTweetWithMsg:(NSString*)msg url:(NSURL*)url {

  // Controller UI callback on main thread

  DTweet *tw = [[DTweet alloc] initWithMsg:msg];

  [tweets addTweet:tw display:YES];

  tw.img = [imageCache getImgFromURL:url];//bottle neck

  [tweets updateTweet:tw display:YES];

  [tw release];

}

有GCD的代码:

- (void)addTweetWithMsg:(NSString*)msg url:(NSURL*)url {

  // Controller UI callback on main thread

  DTweet *tw = [[DTweet alloc] initWithMsg:msg];

  [tweets addTweet:tw display:YES];

  dispatch_async(image_queue, ^{

    tw.img = [imageCache getImgFromURL:url];

    dispatch_async(main_queue, ^{

      [tweets updateTweet:tw display:YES];

    });

  });

  [tw release];

}

 

 

GCD使用

标签:style   ar   color   使用   sp   strong   on   bs   代码   

原文地址:http://www.cnblogs.com/KevinLondon/p/4163823.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!