我的阅读iOS 开发每天分享优质文章小知识点

iOS 多线程~互斥锁

2017-09-13  本文已影响178人  石虎132

//联系人:石虎QQ: 1224614774昵称:嗡嘛呢叭咪哄

一、互斥锁的使用

@synchronized(锁对象){ //需要锁定的代码};

二、互斥锁的优缺点

优点:能有效防止因多线程抢夺资源造成的数据安全问题

缺点:需要消耗大量的CPU资源

互斥锁的使用前提:多条线程抢夺同一块资源的时候使用。

三、互斥锁在iOS开发中的使用

OC在定义属性时有nonatomic和atomic两种选择

atomic原子属性,为setter方法加锁(默认就是atomic)

nonatomic非原子属性,不会为setter方法加锁

四、nonatomic和atomic对比

atomic线程安全,需要消耗大量的资源

nonatomic:非线程安全,适合内存小的移动设备

建议:

所有属性都声明为nonatomic,尽量避免多线程抢夺同一块资源,将加锁、资源抢夺的业务逻辑交给服务器端处理,减小移动客户端的压力。

谢谢!!!

上一篇下一篇

猜你喜欢

热点阅读