У меня есть этот код:переменных и нити
public class Tarea implements Runnable
{
private int valor;
public Tarea()
{
valor = 0;
}
public void run()
{
for (int i = 1; i <= 10; i++)
{
valor++;
}
System.out.println(Thread.currentThread().getName() + " Valor " + valor);
}
}
public class AppTarea
{
public static void main(String[] args)
{
Thread[] hilos = new Thread[5];
for (int i = 0; i < hilos.length; i++)
{
hilos[i] = new Thread(new Tarea());
hilos[i].start();
}
System.out.println("Main terminado");
}
}
Является ли это потокобезопасный. Должен ли я определять переменную доблесть как изменчивую. доблесть делится в разных потоках или нет? Спасибо.
'private static v = 1;' каждый поток do 'v ++'. Нет доступа вне класса, но не безопасен. – UmNyobe
@UmNyobe: Это невостребовано. Я ответил на вопрос, который не задал еще один гипотетический вопрос. Есть много других ситуаций, которые могли бы нарушить безопасность потоков классов, но в этом конкретном примере нет никакой опасности. В переменной valor нет модификатора статичности. – Selim
«Нет доступа к нему за пределами класса, чтобы он был безопасным». Это утверждение абсолютно неверно. – UmNyobe