如何解决线程安全问题
1、撮劝丛食单服务器下使用synchronized和Lock都可以实现代码的同步。简单点说,就是在你修改或访问可变状态时加锁,独占对象,让其他线程进不来,以达到线程安全的效果(不推荐使用)
2、使用数据库的乐观锁机制.即就是在对共享数据进行操作是先查出数据的版本号再去做更新或者插入的操作是带上查出来的版本号去操作原理(分布式环境可用)。
3、使用数据库的悲观锁机制。即利用数据库的行锁或者是表锁来解决线程安全问题(for update关键字)(分布式环境可用)
4、使用队列进行排队处理操作。使用actvicemq、rabbitmq等工具,排队操作(分布式环境可用)
5、Zookeeper实现分布式锁。简单来说就是利用Zookeeper的节点是否被占用的机制来判断此代码是否可以运行操作(分布式环境可用)
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:66
阅读量:70
阅读量:84
阅读量:79
阅读量:69