synchronized:在方法的返回值前加上该关键字synchronized ,一次只能有一个线程进入该方法;(互斥锁,锁住的是当前对象,调用该方法的当前对象,相当于 this ; 只允许当前对象运行)
@synchronized :@synchronized 的作用是创建一个互斥锁,保证此时没有其它线程对self对象进行修改。这个是objective-c的一个锁定令牌,防止self对象在同一时间内被其它线程访问,起到线程的保护作用。 一般在公用变量的时候使用,如单例模式或者操作类的static变量中使用。
大概就是如果线程A访问一对象时,线程B必须等线程A访问完毕后,线程B才能够去操作。@synchronized(id anObject)是最简单的方法,会自动对参数对象加锁,保证临界区内的代码线程安全。属于IOS的一个注解