Existem alguns mecanismos que permitem que o cliente continue executando após ter envido uma mensagem de pedido. Esse é um cliente não bloqueado que deve lembrar de verificar o resultado mais tarde ou utilizar um mecanismo que interrompa quando o resultado chegar. Mesmo assim , na maioria dos casos o sincronismo ainda está implícito ao mecanismo de passagem de mensagens. Uma exceção é quando o cliente impede que seja interrompido em execuções de códigos críticos, isto acontece em sistemas de tempo real.
No servidor os pedidos de vários clientes podem chegar simultaneamente, ou inclusive chegar um pedido enquanto outro está sendo executado. O servidor deve ter um recurso para por os pedidos em fila ou processá-los ao mesmo tempo. Uma forma para que o servidor possa processar os pedidos concorrentemente é gerar um processo-filho para cada pedido, de qualquer forma o servidor tem que saber para onde enviar as respostas. A relação mestre/escravo difere da cliente/servidor por não termos um processo mestre governando todas as ações do escravo. Por exemplo, se um servidor gera processos-filhos para executar os pedidos concorrentemente, estes são escravos pois são governados pelo servidor.