相关疑难解决方法(0)

如何知道Java SE类或方法是否是线程安全的?

例如:

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));
         } 
     });
}
Run Code Online (Sandbox Code Playgroud)

DateFormat类记录为不同步类,但如果我们只使用格式方法,它不能改变整个阶级的地位?

假设它被声明为私有,如何确保代码是线程安全的?

修复此代码的最佳方法是什么?:

  1. 为每个线程使用不同的实例.

  2. 使用同步块.

java multithreading thread-safety

7
推荐指数
1
解决办法
2743
查看次数

标签 统计

java ×1

multithreading ×1

thread-safety ×1