The @sync / @async pair is very useful for waiting a series of asynchronous tasks to complete:
@sync for element in collection
@async perform_task(element)
end
Is there a way to do something similar, but instead of waiting for all tasks to complete it is only necessary to wait for the completion of a certain number of tasks before continuing?
Reading the Tasks section of the documentation I found things like istaskdone, wait, notify and Condition but couldn’t figure out how they work and if they are implementable for this purpose.