|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Aug 2005
Messaggi: 49
|
Prestazioni programma mono vs multi thread [JAVA]
Salve a tutti, ho bisogno di un consiglio implementativo per il mio progetto.
Ho uno scheduler che accoglie centinaia di migliaia di pacchetti da processare; questi pacchetti provengono da sorgenti diverse e vengono memorizzate in un buffer condiviso tramite un metodo synchronized insertPacchetto(); tutti i pacchetti vengono memorizzati all'inizio del programma e poi l'esecuzione consiste nel processare questi pacchetti. Volevo sapere se, secondo la vostra esperienza, il passaggio ad una implementazione multi-thread per la generazione dei pacchetti (cioè creare un thread per ogni sorgente, in modo da generare i pacchetti in parallelo) migliora o meno le prestazioni del programma? Che ne pensate? Mi scuso se sono stato poco chiaro nella spiegazione, ma ho cercato di essere il + sintetico possibile. Grazie in anticipo a tutti coloro che mi vogliono dare una mano. |
|
|
|
|
|
#2 | ||
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Ciao,
non sono assolutamente un esperto ma ho visto che fin'ora non ti ha risposto nessuno e così ho pensato di provare a ragionarci su, anche se non ho esperienza nello specifico. Quote:
Quote:
Attualmente hai N sorgenti che condividono 1 buffer unico sincronizzato (come hai scritto nel post). Se il buffer è già sincronizzato immagino che sia perchè ogni sorgente appunto accede con un suo thread in scrittura (il metodo synchronized si chiama eloquentemente insertPacchetto())... Dunque non capisco bene in che senso la generazione dei pacchetti dovrebbe essere resa multithread, temo mi sia sfuggito qualcosa...
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
||
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:20.




















