Normally, I would post this question under the iPhone programming section, but since the answer may also apply for OS X, I thought I should post it here. I have a program that will need to download data from many sources concurrently. The sources will be so many (75), that I want to limit the concurrent download operations to 5 at a time. So, when a download is complete, another download starts, and data from the previews download is displayed on screen. All these will be done in the background. My question is: Will NSOperationQueue help? If yes, how? I'm not looking for plain code, I am rather looking for general directions. If you know of any better way, please tell me so. Thank you in advance for any information.