I think that is basically the same thing. I haven't used Wait4(0), but it looks like it is the same as Wait4(-1), as long as you don't change the process group ID of any of the children?
In any case, you are not calling Wait4(<specific PID>), which is what implies the thread per process.
In any case, you are not calling Wait4(<specific PID>), which is what implies the thread per process.