美文网首页
iOS 线程安全之@synchronized的用法巩固

iOS 线程安全之@synchronized的用法巩固

作者: sunny冲哥 | 来源:发表于2018-01-22 16:55 被阅读20次

@synchronized(self)的用法:

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


@synchronized.png

举一个最常见的例子,比如车站多人售票的例子,总票数100张,3个售票员售票,如果不加线程锁,会出现什么情况呢? 最后剩余1张票,三个售票员都看见了,都卖出去了,就会出现一票多卖的情况。加上线程锁之后,同时只能一个售票员(一个进程)操作,剩余一张票,看谁的操作抢先一步,谁先抢到。

相关文章

网友评论

      本文标题:iOS 线程安全之@synchronized的用法巩固

      本文链接:https://www.haomeiwen.com/subject/oabthxtx.html