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

2018-01-22  本文已影响20人  sunny冲哥

@synchronized(self)的用法:

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


@synchronized.png

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

上一篇 下一篇

猜你喜欢

热点阅读