ti spiego il problema:
il client riceve i pacchetti dal server e li mette in una coda appena arrivano...
un altro processo interpreta ed esegue cosa fare in base a quello che c'è scritto nel pacchetto...
quest'ultimo prende i messaggi dalla coda ed elabora, ma se il lock della coda è stato acquisito, allora aspetto un altro tot di tempo, così che ho più messaggi da elaborare fino alla prossima volta che il server mi manda altri messaggi...
io l'ho pensata così...
ma visto che è molto complesso...forse sarà meglio usare il costrutto synchronized