iOS 多线程3 GCD

//第6种方式 GCD ( Grand Central Dispatch )
    //创建一个队列
    dispatch_queue_t queue=dispatch_queue_create("queueC", NULL);
    dispatch_async(queue, ^{
        for (int i=0; i<100; i++) {
            NSLog(@"--多线程--%d",i);
        }
        //判断是否时多线程
        BOOL isMian=[NSThread isMultiThreaded];
        if (isMian) {
            NSLog(@"**********多线程******");
        }
        //回到主线程
        dispatch_sync(dispatch_get_main_queue(), ^{
            //判断是否时主线程
            BOOL isMian=[NSThread isMainThread];
            if (isMian) {
                NSLog(@"主线程");
            }
        });
        
    });
    
    //同步运行在当前线程上
    dispatch_sync(queue, ^{
        
            NSLog(@"-同步线程-");
    
    });
    
    
    
    for (int i=0; i<100; i++) {
        NSLog(@"-主线程-%d",i);
    }
    
    //新创建的线程需加入自动释放池释放
    
    return YES;
}

你可能感兴趣的:(iOS 多线程3 GCD)