1.线程安全
多线程多次执行同样的代码,总能获得确定的结果,即不存在不确定的竞争,那么就称这段代码为Thread-safe.
2.如何线程安全地使用非安全对象
有些类是别人写的,自己不能再修改源码,那么如何做到安全地并发使用呢?
2.1 局部变量
2.2 加锁
2.3 为每个线程维护一个对象
2.4 例子
假设SimpleDateFormat是不安全的,为了安全地使用,对应上面的三种思路,示例解决方案见下。
多线程多次执行同样的代码,总能获得确定的结果,即不存在不确定的竞争,那么就称这段代码为Thread-safe.