文档章节

多线程

JK_Jack
 JK_Jack
发布于 2015/10/19 17:20
字数 220
阅读 1
收藏 0

@interface ViewController ()

@end

@implementation ViewController

- (
void)viewDidLoad {
    [
super viewDidLoad];
   
// Do any additional setup after loading the view, typically from a nib.
}

- (
void)didReceiveMemoryWarning {
    [
super didReceiveMemoryWarning];
   
// Dispose of any resources that can be recreated.
}

- (
IBAction)button:(id)sender {
   
//子线程
//    NSThread *th = [[NSThread alloc] initWithTarget:self selector:@selector(th:) object:nil];
//    [th start];
    [
NSThread detachNewThreadSelector:@selector(th:) toTarget:self withObject:nil];
   
   
//线程互斥
   
//多线程队列
   
//创建队列
   
NSOperationQueue *q = [[NSOperationQueue alloc] init];
   
//在队列里创建添加子线程
    [q
addOperationWithBlock:^{
       
NSLog(@"q=%d",[[NSThread currentThread] isMainThread]);
       
//返回主线程的函数
        [
self performSelectorOnMainThread:@selector(mainThread:) withObject:nil waitUntilDone:YES];

    }];
   
// NSInvocationOperation创建子线程
   
NSInvocationOperation *inv =[[NSInvocationOperation alloc] initWithTarget:self selector:@selector(th:) object:nil];
    [q
addOperation:inv];
   
   
//GCD(c语言)创建线程
   
//1.创建队列
   
dispatch_queue_t queue = dispatch_queue_create("qq", NULL);
   
//2.创建子线程
   
dispatch_async(queue, ^{
       
//返回主线程
       
dispatch_sync(dispatch_get_main_queue(), ^{
           
        });
    });
   
   
   
   
   
}

-(
void)th:(id)object
{
   
NSLog(@"th=%d",[[NSThread currentThread] isMainThread]);
   
NSURL *url = [NSURL URLWithString:BaseUrl];
   
NSURLRequest *request = [NSURLRequest requestWithURL:url];
   
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
   
UIImage *image = [UIImage imageWithData:data];
    [
self performSelectorOnMainThread:@selector(mainThread:) withObject:image waitUntilDone:YES];
}
-(
void)mainThread:(id)object
{
   
self.imageV.image = object;
}

@end

 

© 著作权归作者所有

共有 人打赏支持
上一篇: GCD
JK_Jack
粉丝 0
博文 6
码字总数 2658
作品 0
广州
私信 提问

暂无文章

大数据教程(7.4)HDFS的java客户端API(流处理方式)

博主上一篇博客分享了namenode和datanode的工作原理,本章节将继前面的HDFS的java客户端简单API后深度讲述HDFS流处理API。 场景:博主前面的文章介绍过HDFS上存的大文件会成不同的块存储在不...

em_aaron
昨天
2
0
聊聊storm的window trigger

序 本文主要研究一下storm的window trigger WindowTridentProcessor.prepare storm-core-1.2.2-sources.jar!/org/apache/storm/trident/windowing/WindowTridentProcessor.java public v......

go4it
昨天
6
0
CentOS 生产环境配置

初始配置 对于一般配置来说,不需要安装 epel-release 仓库,本文主要在于希望跟随 RHEL 的配置流程,紧跟红帽公司对于服务器的配置说明。 # yum update 安装 centos-release-scl # yum ins...

clin003
昨天
8
0
GPON网络故障处理手册

导读 为了方便广大网络工作者工作需要,特搜集以下GPON网络处理流程供大家学习参考。开始—初步定为故障—检查光纤状况—检查ONU状态--检查设备运行状态—检查设备数据配置—检查上层设备状态...

问题终结者
昨天
7
0
MariaDB、Apache安装

11月12日任务 11.6 MariaDB安装 11.7/11.8/11.9 Apache安装 1.MariaDB安装 cd /usr/local/src wget https://downloads.mariadb.com/MariaDB/mariadb-10.2.6/bintar-linux-glibc_214-x86_64/......

hhpuppy
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部