There is also GNU Parallel's sem: https://www.gnu.org/software/parallel/sem.html
sem --id jobs -j 2 'sleep 1; echo FIRST' sem --id jobs -j 2 'echo SECOND' sem --id jobs -j 2 'echo THIRD' sem --id jobs --wait SECOND THIRD FIRST
[dead]
[dead]