CAS本身的确相当底层了,其实现是本地函数(操作系统级别,甚至可能是硬件级别)。不过其思想可以拿过来用,例如事件完成后,发现事件条件与现时状态不一,则获取新状态重新执行。
to SpeedVan
从不变模型的角度来说, 事件的条件应该是不变的吧,除非是"条件"是"非并行点".
从不变模型的角度来说, 事件的条件应该是不变的吧,除非是"条件"是"非并行点". ...
不存在变化,用户是获取不了信息的。实体就是用户获取信息的途径,所以实体是变化的,是副作用的。请记住某些副作用是不可避免的,一般是信息的获取和发送,如IO流。
条件是不变的,但条件的载体是可变的,如key/value,key-value是一对的,我们通过key获取value,若果key-value关系不会变得话,就没有意义了。
我们从key获取值后,不代表key-value对不会发生改变。对象只要被引用就不会被回收,所以我们当前逻辑是独立的,不会受外界影响,而外界也不会因为该逻辑而固化。KEY不引用A,不代表A发生了变化。
[该贴被SpeedVan于2011-11-15 23:49修改过]
to SpeedVan
可能是语言表达不清楚
不变模式下: 在某一时刻,事件的条件是不变的,在下一时刻就有可能变化.
关于"除非是条件是非并行点",应该是另一个话题了.
顶一下
to SpeedVan
可能是语言表达不清楚
不变模式下: 在某一时刻,事件的条件是不变的,在下一时刻就有可能变化.
关于"除非是条件是非并行点",应该是另一个话题了. ...
不知是你说错了,还是理解错了。
事件有着时间与空间的代表性,所以下一时刻发生的事件是独立于上一时刻的,对于事件来说,所有都是已确定的,也就是事件一旦生成就是不变的,剩下的就是等待处理。“A向B转50元”是一个事件,“A向X转50元”,“A向B转X元”,“(A)/(向B)转50元”,“A向B”这些都不能成为事件。
变化的不是事件,而是环境。
[该贴被SpeedVan于2011-11-16 13:13修改过]
[该贴被SpeedVan于2011-11-16 14:21修改过]
确实是我的语言表述不清楚,实际上就是你说的。
1)“A向B转50元”是一个事件。
2)“A向X转50元”,
3)“A向B转X元”,
4)“(A)/(向B)转50元”
5)“A向B”
2-4 为什么不能成为事件。
5 --- 不完整,不能成为事件,这个认可。