1 NSThread ---- OC
简介:(1)使用更加面向对象
(2) 简单一用,可直接操作线程对象
(3)程序员管理
2 GCD ------ C
j简介:(1)旨在替代NSThread等线程技术
(2)成分利用设备的多核
(3) 自动管理
3 NSOperation ----------- OC
简介:(1)基于GCD(底层是GCD)
(2) 比GCD多了一些更简单实用的功能
(3)使用更加面向对象
(4)自动管理
二 线程同步(NSThread)
1 实质 为了防止多个线程抢夺同一个资源造成的数据安全问题
2 实现 :给代码加一个互斥锁(同步锁)
@synchronized(self)
{
// 被锁住的代码
}
三 线程的注意点
1 不能同时开太多的线程(不超过5条)
2 线程概念
(1)主线程:UI线程,显示,刷新UI界面,处理UI控件的事件
(2)子线程:后台线程,一部线程
(3)不要把耗时的操作放在主线程,要放在子线程中执行
四 线程间通信常用方法
(1)- (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait;
(2) - (void)performSelecotr:(SEL)aSelector onThread:(NSThread*)thr withObject:(id)arg waitUntilDone:(BOOL)wait;