Ho risolto così dentro il main unendo i due cicli ed eliminando la funzione loop, questo è il mio codice vero e proprio: fa quello che deve fare, ma in quanto a prestazioni...ha senso secondo voi come cosa?
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();
}
}