Java: Exemplo de Produtor Consumidor - Lidar com Leitura/Gravação Simultânea

Publicados: 2019-02-17

Exemplo de Produtor Consumidor - Lidar com Leitura:Gravação Simultânea

O producer-consumer problem (também conhecido como bounded-buffer problem ) é um exemplo clássico de Java de um problema de sincronização de vários processos.

O problema descreve dois processos, the producer e the consumer , que compartilham um buffer comum de tamanho fixo usado como fila. O trabalho do produtor é gerar um dado, colocá-lo no buffer e começar de novo.

Ao mesmo tempo, o consumidor está consumindo os dados (ou seja, removendo-os do buffer) um por vez. O problema é garantir que o produtor não tentará adicionar dados ao buffer se estiver cheio e que o consumidor não tentará remover dados de um buffer vazio.

Abaixo o programa Java simples criará este problema:

Exemplos Java – Problema do Consumidor do Produtor

Questão:

Resolução:

Adicione a palavra-chave synchronized para bloquear os data enquanto os estamos usando.

Melhor programa Java:

Resultado do exemplo do consumidor do produtor Java:

java-produtor-consumidor-tutorial-crunchify