并发情况下如何保证数据安全,一直都是开发人员每天都要面对的问题,稍不注意就会出现数据异常,造成不可挽回的结果。笔者根据自己的实际开发经验,总结了下面几种保证数据安全的技术手段:
- 无状态
- 不可变
- 安全的发布
- volatile
- synchronized
- lock
- cas
- threadlocal
一.无状态
我们都知道只有多个线程访问公共资源的时候,才可能出现数据安全问题,那么如果我们没有公共资源,是不是就没有这个问题呢?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); }}