线程安全-@synchronized的用法

@synchronized(self)的用法:
@synchronized 的作用是创建一个互斥锁,保证此时没有其它线程对self对象进行修改。这个是objective-c的一个锁定令牌,防止self对象在同一时间内被其它线程访问,起到线程的保护作用。

  • 互拆锁使用格式
    @synchronized(锁对象){//需要锁定的代码}
    ! 锁定一份代码只用一把锁,用多把锁是无效的

  • 互拆锁的优缺点
    优点: 能有效防止因多线程抢占资源造成的数据安全问题.
    缺点: 需要消耗大量的CPU资源

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

线程同步 : 多条线程在同一条线上执行(按顺序的执行任务)
互斥锁,使用了线程同步技术

有关线程锁: http://www.cocoachina.com/ios/20160707/16957.html

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容