A.+(void)detachNewThreadSelector:(SEL)selector toTarget:(id)target withObject:(id)argument;
B.-(id)initWithTarget:(id)target selector:(SEL)selector object:(id)argument;
C.-(void)performSelectorInBackground:(SEL)aSelector withObject:(id)arg;
D.-(void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)argwaitUntilDone:(BOOL)wait;