Java: Exemplu de consumator producător – Gestionați citirea/scrierea simultană

Publicat: 2019-02-17

Producător Consumator Exemplu - Gestionați Citire concomitentă: Scriere

Problema producer-consumer problem (cunoscută și ca bounded-buffer problem ) este un exemplu Java clasic al unei probleme de sincronizare cu mai multe procese.

Problema descrie două procese, the producer și the consumer , care împărtășesc un buffer comun, de dimensiuni fixe, folosit ca coadă. Sarcina producătorului este să genereze o bucată de date, să o pună în buffer și să înceapă din nou.

În același timp, consumatorul consumă datele (adică le scoate din buffer) pe rând. Problema este să vă asigurați că producătorul nu va încerca să adauge date în buffer dacă acesta este plin și că consumatorul nu va încerca să elimine date dintr-un buffer gol.

Mai jos, programul Java simplu va crea această problemă:

Exemple Java – Problemă Producător Consumator

Problema:

Rezoluţie:

Adăugați cuvântul cheie synchronized pentru a bloca data în timp ce îl folosim.

Program Java mai bun:

Java Producer Consumer Exemplu de rezultat:

java-producer-consumer-tutorial-crunchify