例如:
static private DateFormat df = new SimpleDateFormat();
public static void format(final Date date) {
for (int i = 0; i < 10; i++)
new Thread(new Runnable() {
public void run() {
System.out.println(df.format(date));
}
});
}
DateFormat
类的文档说明其不是同步类,但如果我们只使用format
方法,它不能改变整个类的状态?
假设它被声明为私有的,如何确保代码是线程安全的?
修复此代码的最佳方法是什么?:
为每个线程使用不同的实例。
使用同步块。