Master/Slave (2)
worklist = Make( work ) data = NEED_WORK;
while( worklist != empty ) while( true )
Receive( slave, result ); Send( master, data );
to_do = Head( worklist ); /* wait */
Send( slave, to_do ) Receive( master, work );
Process( result ); data = Process( work );