单例方法
static MusicManager *Mt=nil;
@implementation MusicManager
+ (id)defaultMusicManger
{
if (!Mt) {
Mt = [[MusicManager alloc] init];
}
return Mt;
}
//************************同步(考虑线程的安全)*******************************
@sysnchronized 给线程加锁
+ (id)defaultMusicManger
{
@syschronized(self)
{
if (!Mt) {
Mt = [[MusicManager alloc] init];
}
}
return Mt;
}
//*************************GCD写法*******************************
+ (id)defaultMusicManger
{
static dispatch_once_t onceToken;
dispatch_once(&onceToken,^{
if (!Mt) {
Mt = [[MusicManager alloc] init];
}
});
return Mt;
}