+ (BOOL)isMainQueue {
static const void* mainQueueKey = @"mainQueue";
static void* mainQueueContext = @"mainQueue";
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
dispatch_queue_set_specific(dispatch_get_main_queue(), mainQueueKey, mainQueueContext, nil);
});
return dispatch_get_specific(mainQueueKey) == mainQueueContext;
}