While NSThread’s detachNewThreadSelector:toTarget:withObject: is the best way to launch a single worker thread, NSOperations are the best way to run a series threaded tasks (or has been since serious bugs in it were fixed in 10.5.7 ( http://www.mikeash.com/?page=pyblog/use-nsoperationqueue.html ) ).