多线程

1.------------NSThread-----------

1>开线程的几种方式

*先创建,后启动

NSThread *thread = [[NSThread alloc]initWithTarget:self selector:@selector(run) object:nil];

[thread start];

*直接启动

[NSThread detachNewThreadSelector:@selector(run) toTarget:self withObject:nil];

[self performSelectorInbackground:@selector(run) withObject:nil];

2>其他用法

NSThread *current = [NSThread currentThread];

+ (NSThread *)mainThread;//获得主线程

3>线程间通信

performSelectorOnMainThread...

2.---------GCD(重点)-----------

1>队列的类型

*并发队列

获得全局的并发队列dispatch_get_global_queue

*串行队列

a.自创建

dispatch_queue_create

b.主队列

dispatch_get_main_queue

2>执行任务的方法类型

*同步(sync)执行

*异步(async)执行

3>了解队列和方法的配合使用

4>线程间通信

多线程_第1张图片

5>其他用法

dispatch_once

dispatch_after

dispatch_group_async\dispatch_group_notify

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