Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    4

    problema PRODUTTORE/CONSUMATORE

    Salve ragazzi, qualcuno è in grado di simulare in java l'interazione di n produttori n consumatori con un buffer limitato sincronizzandoli con un meccanismo simile ai messaggi o monitor? Grazie in anticipo!

  2. #2
    Utente di HTML.it L'avatar di minomic
    Registrato dal
    Nov 2010
    Messaggi
    635
    Ciao,
    consiglio una bella ricerca su Google, passando al motore di ricerca "java producer consumer". Trovi tutti gli esempi che vuoi.


  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da cr7 Visualizza il messaggio
    qualcuno è in grado di simulare in java l'interazione di n produttori n consumatori con un buffer limitato sincronizzandoli con un meccanismo simile ai messaggi o monitor?
    Se vuoi la "pappa pronta", segui appunto il consiglio di minomic, ovvero cerca in rete e di esempi ne trovi sicuramente.
    Se invece vuoi cercare di comprendere come farlo e quindi svilupparlo da te, allora innanzitutto dovresti precisare meglio il modo di distribuzione dei messaggi da produttore a consumatore. Se ci sono N produttori e M consumatori (con N=M o anche N≠M) quando un produttore invia un messaggio, questo deve essere ricevuto da tutti i consumatori o solo dal primo (qualunque) che arriva ad estrarlo? L'architettura globale dipende anche molto da questo.

    Per il passaggio fisico vero e proprio, in genere si usano delle "code", ovviamente opportunamente sincronizzate e thread-safe e tipicamente "bloccanti" (il consumatore si blocca se la coda è vuota e se la coda è limitata in capacità, il produttore si blocca se è piena). Da Java 5 esiste la interfaccia BlockingQueue, con diverse implementazioni già esistenti tra cui due interessanti in questo scenario, cioè ArrayBlockingQueue e LinkedBlockingQueue.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.