An NSThread object controls a thread of execution. Use NSThread when you want to have an Objective-C method run in its own thread of execution or if you need to terminate or delay the current thread. A thread is an executable unit. A task is made up of one or more threads.
All threads share the virtual memory address space and communication rights of their task.
When a thread is started, it is detached from its initiating thread. The new thread runs independently. That is, the initiating thread does not know the new thread's state. This method detaches a new thread from the current thread, and the specified target executes the specified method in that thread. When the target has finished executing the method, the thread exits.