Synchronize读脏解决
Synchronize读脏解决
对于业务需要同步的
同时,添加Synchronize关键字
比如,在getValue/setValue方法上
都加上synchronize关键字
保证,业务的一致性
package com.bjsxt.base.sync004;/*** 业务整体需要使用完整的synchronized,保持业务的原子性。**/
public class DirtyRead {private String username = "bjsxt";private String password = "123";public synchronized void setValue(String username, String password) {this.username = username;try {Thread.sleep(2000);} catch (InterruptedException e) {e.printStackTrace();}this.password = password;System.out.println("setValue最终结果:username = " + username + " , password = " + password);}public synchronized void getValue() {System.out.println("getValue方法得到:username = " + this.username + " , password = " + this.password);}public static void main(String[] args) throws Exception {final DirtyRead dr = new DirtyRead();Thread t1 = new Thread(new Runnable() {@Overridepublic void run() {dr.setValue("z3", "456");}});t1.start();Thread.sleep(1000);dr.getValue();}}
运行
Synchronize读脏解决相关推荐
- Synchronize读脏
Synchronize读脏 对一个对象的方法加锁的时候,需要考虑业务的整体性 为setValue/getValue方法,同时加上synchronize同步关键字 保证业务的原子性,否则,会出现错误的结 ...
- 事务(ACID)、并发一致性问题(丢失修改、读脏数据、不可重复读、幻影读)、封锁(封锁粒度、类型、协议、MySQL 隐式与显示锁定)
1. 事务 1.1 概念 事务指的是满足 ACID 特性的一组操作,可以通过 Commit 提交一个事务,也可以使用 Rollback 进行回滚. 1.2 ACID 1.2.1 原子性(Atomic ...
- 共享锁、排他锁、互斥锁、悲观锁、乐观锁、行锁、表锁、页面锁、不可重复读、丢失修改、读脏数据...
作者:T-Birds blog.csdn.net/weixin_36634753/article/details/90815755 共享锁(S锁): 又称为读锁,可以查看但无法修改和删除的一种数据锁. ...
- Linux多线程实践(6) --Posix读写锁解决读者写者问题
Posix读写锁 int pthread_rwlock_init(pthread_rwlock_t *restrict rwlock,const pthread_rwlockattr_t *restr ...
- 用信号量和读写锁解决读者写者问题
用信号量和读写锁解决读者写者问题 参考文章: (1)用信号量和读写锁解决读者写者问题 (2)https://www.cnblogs.com/xybaby/p/6559212.html 备忘一下.
- MySQL事务的读脏
所谓读脏,是指一个事务读取了,另外一个事务未提交的数据 首先,开启两个命令行窗口,模拟账户a和账户b 登录到数据库,chapter06 设置b账户,事务的隔离级别 MySQL默认的隔离级别是REPEA ...
- 90 后女科学家,四年完成清华大学硕博连读,解决多个世界级难题
\ 文章 | 厉羽萱 来源 | 考博圈 我们经常能听到一句调侃90后的话:"90后是垮掉的一代",但事实并非如此,如今的90后已经正式进入各行各业,成了很多领域的主力人员.科学家是 ...
- MySQL幻读及解决方法
这是一篇数据库隔离级别的科普文章,旨在了解数据库中著名的幻读现象,为了专注,对脏读.不可重复读不作讨论. 事务隔离级别 MySQL有四级事务隔离级别: 读未提交 READ-UNCOMMITTED: 存 ...
- 90后女科学家,四年完成清华大学硕博连读,解决多个世界级难题
我们经常能听到一句调侃90后的话:"90后是垮掉的一代",但事实并非如此,如今的90后已经正式进入各行各业,成了很多领域的主力人员.科学家是一项神圣无比的职业,在很多人看来科学家都 ...
最新文章
- 条件限制select into_SQL全部知识点(夺回控制台掌控权,转义符,SELECT特定列,AND,OR,查询数值,比较运算)...
- 经典C语言程序100例之三一
- (23)VHDL实现乘法器
- 内燃机附件和部件行业调研报告 - 市场现状分析与发展前景预测
- 在行进中开火 Fire and Motion By Joel Spolsky
- 2017.0704.《计算机组成原理》-动态RAM
- WPF中Binding的验证
- 【先定一个小目标】Asp.net Core 在IIS上的托管运行
- php爬虫大数据抓取_数据分析|爬虫抓取东方财富网股吧帖子
- hurst指数matlab代码_Matlab 简介
- LSI存储论坛:6Gb SAS让DAS焕发新活力?
- apiDoc之api接口文档生成
- W3Cschool菜鸟教程离线版下载链接
- [深度学习] Python人脸识别库Deepface使用教程
- VS2017的C++开发心得(五)项目开发的文件夹管理
- ROCKET 数据可视化可以如此简单
- Second season nineteenth episode,Eddie does not move out
- Segment Anything万物皆可分割
- f5 gtm 工作原理_[转]F5负载均衡算法及基本原理
- 三阶齐次线性方程求通解_已知一个三阶常系数线性齐次微分方程的特征根