我有这个代码:
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");
}
}
这个线程安全吗?我应该将变量 valor 定义为 volatile。valor 是否在不同的线程中共享?谢谢。