Java: Producer Consumer Esempio – Gestisci lettura/scrittura simultanea

Pubblicato: 2019-02-17

Esempio produttore consumatore - Gestisci lettura: scrittura simultanea

Il producer-consumer problem (noto anche come bounded-buffer problem ) è un classico esempio Java di un problema di sincronizzazione multiprocesso.

Il problema descrive due processi, the producer e the consumer , che condividono un buffer comune a dimensione fissa utilizzato come coda. Il compito del produttore è generare un dato, inserirlo nel buffer e ricominciare.

Allo stesso tempo, il consumatore sta consumando i dati (cioè rimuovendoli dal buffer) un pezzo alla volta. Il problema è assicurarsi che il produttore non tenti di aggiungere dati nel buffer se è pieno e che il consumatore non tenti di rimuovere i dati da un buffer vuoto.

Di seguito un semplice programma Java creerà questo problema:

Esempi Java – Problema del consumatore del produttore

Problema:

Risoluzione:

Aggiungi la parola chiave synchronized per bloccare i data mentre li stiamo utilizzando.

Programma Java migliore:

Risultato dell'esempio di consumo del produttore Java:

java-producer-consumer-tutorial-crunchify