线程安全-@synchronized的用法

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

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

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

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

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

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

你可能感兴趣的:(线程安全-@synchronized的用法)