I am adding operations to the queue using something like this
NSInvocationOperation *operation0 = [[NSInvocationOperation alloc]
initWithTarget:self
selector:@s
I have two ways to do such thing.
First: Let the current thread to sleep on the tail of doStuff1, doStuff2, and doStuff3.
Second: Sub-class NSOperation and override the method -(void)main. You can init a custom NSOperation with parameters of target and action like following:
-(id)initWithTarget:(id)target action:(SEL)action;
And execute this action of target in the -(void)main by
[target performSelector:action];
[NSThread sleepForTimeInterval:0.05];