GCD的多线程实现方式,线程和定时器混合使用

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];//代码运行于此,将不再执行下去,整个线程出于活跃。当线程中不再有需要执行的事件时,再会放开事件循环,代码继续执行下去。

上一篇:Spring Cloud Eureka 配置


下一篇:qml android 的一个例子qtHangMan