Мне было интересно, если у вас есть статический метод, который не синхронизирован, но не изменять какие-либо статические переменные, является ли он потокобезопасным? Как насчет того, создает ли в нем локальные переменные? Например, следующий код безопасен?
public static String[] makeStringArray( String a, String b ){
return new String[]{ a, b };
}
Итак, если у меня есть два потока, вызывающие метод ths непрерывно и одновременно, один с собаками (скажем, "дог" и "бычья собака" ), а другой с кошками (скажем, "персидский" и "сиамский" ), я когда-нибудь получу кошек и собак в том же массиве? Или кошки и собаки никогда не будут внутри одного и того же вызова метода одновременно?