这里是iOS多线程深度学习的大纲,提供概念,提供学习所需要的目标。把这些概念理解并实践,最后应用到自己的app开发中。
一、线程与RunLoop
1,RunLoop的mode
2,RunLoop的输入源与定时源
3,RunLoop的观察者
二、实现方案
1,pThread
2,NSThread
3,GCD (重点)
4,NSOperation :操作依赖、操作最大并发数(并非线程数量)
具体可以参考②。
三、线程同步
1,NSLock同步锁;
2,@synchronized代码块;
3,GCD的信号;
具体可以参考①。
四、线程通信
5、线程调度
使用NSCondition
lock the condition
while (!(boolean_predicate)) {
wait on condition
}
do protected work
(optionally, signal or broadcast the condition again or change a predicate value)
unlock the condition
参考
① http://www.cnblogs.com/kenshincui/p/3983982.html
② http://www.jianshu.com/p/0b0d9b1f1f19
③ http://blog.csdn.net/ztp800201/article/details/9240913
④ http://www.cnblogs.com/sunfrog/tag/ios/