s matrizes Java em um método estático são segura
public static int rank(int key, int[] a) {
int lo = 0;
int hi = a.length - 1;
while (lo <= hi) {
// Key is in a[lo..hi] or not present.
int mid = lo + (hi - lo) / 2;
if (key < a[mid]) hi = mid - 1;
else if (key > a[mid]) lo = mid + 1;
else return mid;
}
return -1;
}
O método estático acima faz pesquisa binária. É thread seguro? Eu sei que variáveis locais são seguras para threads, mas "a" aqui é uma matriz, o que significa que é um objeto em Java, certo? Isso é um problema? A matriz está sendo lida, não modificada de forma alguma, portanto, estou assumindo que esse método é seguro para threads. Mas quero ter certeza de que entendo o porquê.
Obrigado