GCD (Grand Central Dispatch)

性能更好,追求性能的话

 

1.创建一个队列

//GCD的使用

    //创建一个队列

    dispatch_queue_t queue = dispatch_queue_create("test", NULL);

    //创建异步线程

    dispatch_async(queue, ^{

        //多线程

        for (int i = 0; i < 30; i++) {

            NSLog(@"多线程:%d",i);

        }

        

        //回到主线程执行

        dispatch_sync(dispatch_get_main_queue(), ^{

            //主线程

            if ([NSThread isMainThread]) {

                NSLog(@"是主线程");

            }

        });

    });

 

 

 

自动释放池

1.

NSAutoreleasePool *pool = [[NSAutoreleasePoolalloc] init];

    

    [pool release];

2.苹果推荐我们使用以下这种方式,这种方式是在iOS5.0之后才会出现的

@autoreleasepool {

        <#statements#>

    }

 

三:线程和定时器的使用

使线程能时续活跃,事件循环。

定时器定义之后,在下面添加以下代码

[[NSRunLoop currentRunLoop] run];//代码运行于此,将不再执行下去,整个线程出于活跃。当线程中不再有需要执行的事件时,再会放开事件循环,代码继续执行下去。