@synchronized 的作用是创建一个互斥锁,保证此时没有其它线程对self对象进行修改。这个是objective-c的一个锁定令牌,防止self对象在同一时间内被其它线程访问,起到线程的保护作用。 一般在公用变量的时候使用,如单例模式或者操作类的static变量中使用。

# import "NetworkManager.h"


static NetworkManager *network = nil;


@implementation NetworkManager


+ (NetworkManager *)getNetworkInstance{
 @synchronized(self){
  if (nil == network){
   network = [[NetworkManager alloc] init];
  {
 }
 return network;
}

 

posted on 2015-04-17 17:00  墓厄  阅读(402)  评论(0编辑  收藏  举报