Mi chiedevo se hai un metodo statico che non è sincronizzato, ma non modifica alcuna variabile statica è sicuro per i thread? Che dire se il metodo crea variabili locali al suo interno? Ad esempio, il codice seguente è thread-safe?
public static String[] makeStringArray( String a, String b ){
return new String[]{ a, b };
}
Quindi, se ho due thread che chiamano questo metodo continuamente e contemporaneamente, uno con i cani (diciamo "great dane" e "bull dog") e l'altro con i gatti (diciamo "persiano" e "siamese") otterrò mai cani e gatti nello stesso array? O i cani e i gatti non saranno mai nella stessa invocazione del metodo contemporaneamente?