社区
Java
帖子详情
如何理解 变量不需要与其他的状态变量共同参与不变约束
「已注销」
2018-08-06 03:39:38
volatile 关键字应用场景:
1)运算结果不存在数据依赖,或者只有单一的线程修改变量的值
2) 变量不需要与其他的状态变量共同参与不变约束
如何理解第二点.........求解
...全文
593
2
打赏
收藏
如何理解 变量不需要与其他的状态变量共同参与不变约束
volatile 关键字应用场景: 1)运算结果不存在数据依赖,或者只有单一的线程修改变量的值 2) 变量不需要与其他的状态变量共同参与不变约束 如何理解第二点.........求解
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wildyy
2018-08-06
打赏
举报
回复
不变式就是start<end这个表达式,第二点就是说表达式使用了两个及以上的变量,就无法保证正确性,也就是说不变式会失效
「已注销」
2018-08-06
打赏
举报
回复
看到别热博客上拿了一个例子:
private Date start;
private Date end;
public void setInterval(Date newStart, Date newEnd) {
// 检查start<end是否成立, 在给start赋值之前不变式是有效的
start = newStart;
// 但是如果另外的线程在给start赋值之后给end赋值之前时检查start<end, 该不变式是无效的
end = newEnd;
// 给end赋值之后start<end不变式重新变为有效
}
这里所说的 不变式是什么意思? 何时判断? 求教。。。。。。。。。
Java线程:volatile关键字
* volatile
变量
的使用
需要
满足两个条件:对
变量
的写操作不依赖于当前值,以及该
变量
没有包含在具有其他
变量
的
不变
式中。 volatile
变量
是一种轻量级的同步机制,可以用于提供线程安全,但是
需要
满足一定的条件,...
Java并发编程培训(阿里巴巴)
volatile关键字: 1:简化实现或者同步策略验证的时候来使用它; 2:确保引用对象的可见性; 3:标示重要的生命周期的事件,例如...2:
变量
不
需要
和其他
变量
共同
参与
不变
约束
; 3:访问
变量
时不
需要
其他原因
需要
加锁。
Java基础知识02
顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的
变量
参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。 泛型的本质是为了参数化类型(在不创建...
牛客网刷题(纯java题型 241~270题)
子类从父类继承所有的成员(字段,方法,嵌套类),构造方法不属于成员,所有子类不能继承,但是子类可以调用父类的构造方法 对于private方法和属性,子类一定是继承了的,但是没有访问权限 子类对象确实拥有父类对象中所有的...
Java并发编程(八):volatile使用和原理详解
大家都知道volatile作为一个“轻量级”的关键字,它能够保证可见性、有序性,但是不能保证原子性。那么它到底是怎么保证可见性和有序性的呢?为什么不能保证原子性呢?我们该如何正确使用volatile呢?下面我们一一...
Java
51,411
社区成员
86,018
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章