Clarification on Threads and Run Loops In Cocoa

Posted by dubbeat on Stack Overflow See other posts from Stack Overflow or by dubbeat
Published on 2010-05-07T14:38:30Z Indexed on 2010/05/08 20:58 UTC
Read the original article Hit count: 194

Filed under:
|

I'm trying to learn about threading and I'm thoroughly confused. I'm sure all the answers are there in the apple docs but I just found it really hard to breakdown and digest. Maybe somebody could clear a thing or 2 up for me.

1)performSelectorOnMainThread

Does the above simply register an event in the main run loop or is it somehow a new thread even though the method says "mainThread"? If the purpose of threads is to relieve processing on the main thread how does this help?

2) RunLoops

Is it true that if I want to create a completely seperate thread I use "detachNewThreadSelector"? Does calling start on this initiate a default run loop for the thread that has been created? If so where do run loops come into it?

3) And Finally , I've seen examples using NSOperationQueue. Is it true to say that If you use performSelectorOnMainThread the threads are in a queue anyway so NSOperation is not needed?

4) Should I forget about all of this and just use the Grand Central Dispatch instead?

© Stack Overflow or respective owner

Related posts about cocoa

Related posts about multithreading