1-GCDblockblock
dispatch_async(dispatch_get_main_queue(), ^{
});
2-NSOperation
NSOperationQueue *mainQueue = [NSOperationQueue
mainQueue];
NSBlockOperation *operation = [NSBlockOperation
blockOperationWithBlock:^{
}];
[mainQueue addOperation:operation];
3-NSThread
[selfperformSelector:@selector(method)
onThread:[NSThread mainThread] withObject:nilwaitUntilDone:YESmodes:nil];
[selfperformSelectorOnMainThread:@selector(method)
withObject:nilwaitUntilDone:YES];
[[NSThread mainThread] performSelector:
@selector(method) withObject:nil];
4-RunLoop
[selfperformSelectorOnMainThread:@selector(method)
withObject:nilwaitUntilDone:YES];
[[NSThread mainThread] performSelector:
@selector(method) withObject:nil];
• RunLoop
[[NSRunLoop mainRunLoop] performSelector:@selector(method) withObject:nil];