Let's say I have 60 tasks that do something that takes at least 30 minutes each. Now I want to only run 5 at a time, so when 1 of those 5 finishes another task gets executed till all are finished.
What is the cleanest way to do this? And is there a name for this pattern?