//联系人:石虎QQ: 1224614774昵称:嗡嘛呢叭咪哄
一、互斥锁的使用
@synchronized(锁对象){ //需要锁定的代码};
二、互斥锁的优缺点
优点:能有效防止因多线程抢夺资源造成的数据安全问题
缺点:需要消耗大量的CPU资源
互斥锁的使用前提:多条线程抢夺同一块资源的时候使用。
三、互斥锁在iOS开发中的使用
OC在定义属性时有nonatomic和atomic两种选择
atomic:原子属性,为setter方法加锁(默认就是atomic)
nonatomic:非原子属性,不会为setter方法加锁
四、nonatomic和atomic对比
atomic:线程安全,需要消耗大量的资源
nonatomic:非线程安全,适合内存小的移动设备
建议:
所有属性都声明为nonatomic,尽量避免多线程抢夺同一块资源,将加锁、资源抢夺的业务逻辑交给服务器端处理,减小移动客户端的压力。