事务和原子操作

本文介绍了原子操作和事务操作的概念。原子操作确保在修改单一对象数据时,面对断电等异常能恢复初始状态。而事务操作则涉及一系列永久数据更新,确保全部成功或全部回滚。文中列举了相关API,如Util.arrayCopy和JCSystem的事务方法。
摘要由CSDN通过智能技术生成

一、概述
   

    原子操作是对一个单一的对象(包括类域、数组元素等永久对象)数据进行修改过程中发生断电、严重异常等失败情况时,保证原始数据的完整性,即恢复到初始数据状态。事务操作是对一系列的永久数据更新的一个逻辑的集合,要么所有的永久数据的修改都正确完成,要么所有的数据都被恢复为它们以前的值。

 

二、原子操作


    原子操作定义了一个单一的对象、类域、数组元素等进行修改的过程中发生断电或异常等失败情况之后,如何处理永久数据的内容。如果在修改的过程中发生断电,当电源恢复时,该原子操作失败的永久对象数据会恢复到最初的值。

例如:
    通过原子写array_buf数组元素。数组的原始数据为: array_buf = [6, 7, 8, 9]。外部通过原子准备将数组更新为:[1, 2, 3, 4]。当更新了两个数组原素: [1, 2]时发生断电,此时,原子操作要求下次上电后需恢复到最初值,即: array_buf = [6, 7, 8, 9]。
 

原子操作的API:
    如:Util. arrayCopy(byte[] src, short srcOff, byte[] dest, short destOff, short length)。该方法保证要么所有的字节都被复制了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值