iOS 多线程~互斥锁

来源:互联网 发布:移动网络服务商电话 编辑:程序博客网 时间:2024/06/11 03:24

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


一、互斥锁的使用


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


二、互斥锁的优缺点


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

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

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


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


OC在定义属性时有nonatomicatomic两种选择

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

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


四、nonatomicatomic对比


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

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


      建议:

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


谢谢!!!

原创粉丝点击