我的问题可能很愚蠢,但我无法理解。我使用这段代码创建了一个单例类。
+ (GameRequestHandler *) sharedInstance
{
static dispatch_once_t pred;
static GameRequestHandler *shared = nil;
dispatch_once(&pred, ^{
shared = [[GameRequestHandler alloc] init];
});
return shared;
}
当我从这个单例对象调用方法时,它们是在主线程还是在后台线程调用?
最佳答案
这些方法在您调用它们的线程上被调用。
dispatch_once
只是确保传递给它的 block 在应用程序的生命周期内只执行一次。我不认为它使用线程,如果使用,那是您无需担心的实现细节。
关于iphone - 主线程上的单例类 - iPhone,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10651062/