執行緒7--GCD的基本使用

有稜角的圓發表於2016-08-01

子執行緒執行延時操作,執行完成後返回主執行緒更新介面

 dispatch_queue_t queue=dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);//子執行緒;
    dispatch_async(queue, ^{
        NSLog(@"%@---",[NSThread currentThread]);
        NSURL *url=[NSURL URLWithString:@"http://img.hb.aicdn.com/1f2acbecdc6ac6187a9b02bffe4a5dedc9fe45ff15a44-D6LjC1_fw580"];
        NSData *data=[NSData dataWithContentsOfURL:url];
        UIImage *image=[UIImage imageWithData:data];\
        NSLog(@"圖片載入完畢");
/*************************開啟子執行緒,載入圖片*****************/
        //[self.imageView performSelectorOnMainThread:@selector(setImage:) withObject:image waitUntilDone:YES];
/***********************************************************/
/*要求使用GCD的方式,在子執行緒載入圖片完畢後,主執行緒拿到載入的image重新整理UI介面。
 
 執行緒間通訊
 
 從子執行緒回到主執行緒
 */
        
        dispatch_queue_t queuemain=dispatch_get_main_queue();//主執行緒;
        dispatch_async(queuemain, ^{
            self.imageView.image=image;
            NSLog(@"%@",[NSThread currentThread]);
            
        });
 /**********************************************************/
    });
  

 

相關文章