Java的时区线程安全吗?
2022-09-02 22:06:42
我希望我的应用程序只有一个对象,该对象将由许多对象和来自其他位置的对象同时使用。这是为了避免总是这样做。TimeZone
SimpleDateFormat
Calendar
TimeZone.getTimeZone(ID)
我知道和类不是线程安全的,这就是为什么我配置一个线程总是创建它们的新实例。但是呢?我不清楚我是否可以安全地执行以下操作:SimpleDateFormat
Calendar
TimeZone
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();
...
谢谢!