Padrões básicos

A solução de problemas na programação concorrente utiliza variações a partir de algumas formas básicas.

Um dos princípios de solução representa a seqüência típica necessária para garantir a correta execução de um método que tem acesso a recursos compartilhados. A estratégia básica é fazer primeiro a verificação das condições necessárias para execução e, após a execução, "limpar o caminho" para outras linhas de execução.

Em Java, essa estrutura de camadas pode ser representada na forma:

      verificaCondicoes();
      try {
          oMetodo();
      }
      finally {
          acertaCondicoes();
      }
    

Outro padrão comum de solução é a utilização de um adaptador para permitir que um método (fazAlgo()) de uma classe da aplicação (UmaClasse) possa ser executado como uma linha de execução independente:

      class UmaClasseAdaptadora implements Runnable {
         private final UmaClasse adaptada;

         public UmaClasseAdaptadora(UmaClasse u) {
            adaptada = u;
         }
         public void run() {
            adaptada.fazAlgo();
         }
      }
    

Ivan L. M. Ricarte
Last modified: Tue Sep 24 11:59:40 BRT 2002