salve a tutti, vorrei una mano per quanto riguarda la programmazione di threads in particolare per la gestione delle politiche di priorità.
devo sviluppare un sistema produttore/consumatore con n threads produttori e m threads consumatori i quali sono a sua volta suddivisi in consumatori di tipo A e di tipo B
il problema che mi affligge oramai da 2 settimane e che non ho risolto anche con le infinite ricerche su internet è la gestione della politica della priorità.
i threads consumatori di tipo B possono prelevare dati dal vettore condiviso (dimensione limitata) solo se non esistono in attesa threads consumatori di tipo A.
per ora ho sviluppato tutto con l'uso dei semafori come nel sistema prod/cons generale.
idee:
1)le classi produttore e consumatoreA sono uguali a quelle usate per il classico produttore/consumatore e la classe consumatoreB che in più controlla se ci sono threads consumatoreA in attesa altrimenti "consuma" dato dal vettore (ma come fare??)
2)uso di notify, notifyAll... ma non so come usarle bene...
insomma, non so come comportarmi... se c'è qualcuno che ha anche una piccola idea mi faccia sapere... vi prego!!
grazie.

Rispondi quotando