多线程学习
2016-04-06 本文已影响61人
不吃鸡爪
进程是指在系统中正在运行的一个应用程序。
线程是进程的基本执行单元,一个进程(程序)的所有任务都在线程中执行。
一个运行着的程序就是一个进程或者叫做一个任务,一个进程至少包含一个线程,线程就是进程的执行流。
1.NSOperation简单介绍(文顶顶)
2.GCD基础(文顶顶)
- 只执行一次()
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
// 程序运行中只执行1次的代码(这里面默认是线程安全的)
});
- 延时执行
dispatch_time_t delayTime =dispatch_time(DISPATCH_TIME_NOW,(int64_t)(5*NSEC_PER_SEC));
dispatch_after(delayTime, dispatch_get_main_queue(), ^{
});
(如果是main_queue,则是在主线程运行,global_queue,会开辟一个新的线程)
- 队列组
dispatch_group_t group = dispatch_group_create(); dispatch_group_async(group, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
// 执行1个耗时的异步操作
NSLog(@"11111111 %@",[NSThread currentThread]);
});
dispatch_group_async(group,dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
// 执行1个耗时的异步操作
NSLog(@"2222222 %@",[NSThread currentThread]);
});