Loop n times { // asynchronous (nonblocking) operations spawn child task; send message to child; } Loop n times { // synchronous (blocking) operations receive result from child; }