一.无状态
我们都知道只有多个线程访问公共资源的时候,才可能出现数据安全问题,那么如果我们没有公共资源,是不是就没有这个问题呢?
public class NoStatusService {
public void add(String status) {
System.out.println("add status:" + status);
} public void update(String status) {
System.out.println("update status:" + status);
}}
二.不可变
如果多个线程访问公共资源是不可变的,也不会出现数据的安全性问题。
public class NoChangeService {
public static final String DEFAULT_NAME = "abc";
public void add(String status) {
System.out.println("add status:" + status);
}}
三.安全的发布
如果类中有公共资源,但是没有对外开放访问权限,即对外安全发布,也没有线程安全问题
public class SafePublishService {
private String name;
public String getName() {
return name;
} public void add(String status) {