I recommend you to see WWDC Sessions about network application in iPhone OS. WWDC 2010 Session 207 - Network Apps for iPhone OS, Part 1 WWDC 2010 Session 208 - Network Apps for iPhone OS, Part 2 The lecturer said "Threads Are Evil™" for network programming and recommended to use asynchronous network programming with RunLoop. Use background thread (Grand Central Dispatch Concurrent Queue) for threa