Quería que mi aplicación solo tuviera un objeto TimeZone
que será utilizado por muchos objetos SimpleDateFormat
y Calendar
de otros lugares al mismo tiempo. Esto es para evitar tener que hacer siempre TimeZone.getTimeZone(ID)
.¿Es TimeZone de Java seguro para subprocesos?
sé SimpleDateFormat
y Calendar
clases no es seguro para subprocesos, por lo que puedo configurar un hilo para crear siempre nuevas instancias de ellos. Pero ¿qué pasa con TimeZone
? No me queda claro si puedo hacer lo siguiente con seguridad:
final TimeZone tz = TimeZone.getTimeZone("GMT");
...
//Thread 1.
Thread t1 = new Thread(Runnable(){
public void run()
{
Calendar cal = Calendar.getInstance(tz);
...
SimpleDateFormat sdf = new SimpleDateFormat();
sdf.setTimeZone(tz);
...
}
});
t1.start();
...
//Thread 2.
Thread t2 = new Thread(Runnable(){
public void run()
{
Calendar cal = Calendar.getInstance(tz);
...
SimpleDateFormat sdf = new SimpleDateFormat();
sdf.setTimeZone(tz);
...
}
});
t2.start();
...
Thanks!
1: JodaTime es la manera de hacerlo fecha/hora en Java. – BalusC
He visto TimeZone.getDefault() colgar con frecuencia en un entorno de subprocesos múltiples. – Martin