Forse è il caso che vi spieghi il senso di questo ciclo while(true): si trova nel main, creato per ciclare all'infinito. Il for (int i = 48; i < 58; i++) è creato invece per sondare diciamo 10 contenitori, il cui contenuto, se il relattivo array booleano startLoop[i] è uguale a true, non è altro che un array di dimensione variabile: se uno di questi è diverso da zero, prendo il suo valore n e lo riproduco come suono n.wav. Incremento il relativo j[i]++, cioè passo al valore successivo dell'array contenuto in uno dei 10 contenitori. Continuo a sondare questo array finché non termina la sua lunghezza per poi farlo ripartire dall'inizio: if (j[i] == len[i]) j[i] = 0; Tutto questo vorrei poterlo fare in 1 centesimo di secondo (div = 10), male che vada a livello prestazionale 1 decimo di secondo (div = 100). E' questo il punto, ha senso come cosa o mi esplode tutto ad un certo punto? (Prendete in considerazione il caso pessimo: tutti i 10 contenitori sono attivi, cioè startLoop[i] == true: ciclerebbero tutti in pochissimo tempo, scorrendo i propri array un valore dopo l'altro riproducendo i suoni nel giusto istante di tempo).
In javascript avevo adottato a dire il vero non più while, ma più setInterval...e non avevo considerato il contenuto dei contenitori come array ma come stringhe e le scorrevo come in questo caso: sarebbe una soluzione migliore?
GRAZIE 
Codice uguale a quello del post di prima.
codice:
while(true) {
for (int i = 48; i < 58; i++) {
if (startLoop[i] == true) {
len[i] = num[i].length;
if (num[i][j[i]] != 0) {
snd[num[i][j[i]]].stop();
snd[num[i][j[i]]].setFramePosition(0);
snd[num[i][j[i]]].start();
}
j[i]++;
if (j[i] == len[i]) {
j[i] = 0;
}
}
}
try {
Thread.sleep(div);
} catch (InterruptedException e) {
e.printStackTrace();
}
}