当前位置: 首页 > article >正文

FreeCAD源码分析: Transaction实现原理

本文阐述FreeCAD中Transaction的实现原理。

注1:限于研究水平,分析难免不当,欢迎批评指正。

注2:文章内容会不定期更新。

一、概念

Ref. from What is a Transaction? 

A transaction is a group of operations that have the following properties: atomic, consistent, isolated, and durable (ACID). The support of transactions enables new types of applications to be developed, while simplifying the development process and making the application more robust. The remainder of this topic provides scenarios that demonstrate the need for these properties, then a table that defines each property.

In an atomic group of operations, either every operation in the group must succeed, or the effects of all of them must be undone (also known as rolling back). 

AtomicEither all of the operations in the transaction succeed or none of the operations persist.
ConsistentIf the data are consistent before the transaction begins, then they will be consistent after the transaction finishes.
IsolatedThe effects of a transaction that is in progress are hidden from all other transactions.
DurableWhen a transaction finishes, its results are persistent and will survive a system crash.

二、核心组件

三、关键流程

网络资料

What is a Transaction?https://learn.microsoft.com/en-us/windows/win32/ktm/what-is-a-transaction

FreeCAD源码分析:Undo/Redo实现原理https://blog.csdn.net/qq_26221775/article/details/124954477

http://www.lryc.cn/news/2378656.html

相关文章:

  • flutter缓存网络视频到本地,可离线观看
  • Kotlin 中 infix 关键字的原理和使用场景
  • c++从入门到精通(五)--异常处理,命名空间,多继承与虚继承
  • mock 数据( json-server )
  • Java多线程编程中的常见问题与陷阱汇总
  • ARP Detection MAC-Address Static
  • gcc/g++常用参数
  • nginx配置之负载均衡
  • 相机Camera日志分析之十一:高通相机Camx hal预览1帧logcat日志process_capture_result详解
  • Python函数库调用实战:以数据分析为例
  • 去年开发一款鸿蒙Next Os的window工具箱
  • 顶层设计-IM系统架构
  • 信任的进阶:LEI与vLEI协同推进跨境支付体系变革
  • 安全性(三):信息安全的五要素及其含义
  • PHP 与 面向对象编程(OOP)
  • Axios全解析:从基础到高级实战技巧
  • EXO 可以将 Mac M4 和 Mac Air 连接起来,并通过 Ollama 运行 DeepSeek 模型
  • 数据库故障排查指南
  • RBTree的模拟实现
  • docker-compose——安装mongo
  • Vue 3.0中响应式依赖和更新
  • uniapp|实现获取手机摄像头权限,调用相机拍照实现人脸识别相似度对比,拍照保存至相册,多端兼容(APP/微信小程序)
  • JavaScript【7】BOM模型
  • [强化学习的数学原理—赵世钰老师]学习笔记02-贝尔曼方程
  • 使用Spring Boot与Spring Security构建安全的RESTful API
  • 深入理解构造函数,析构函数
  • Day 16
  • 摄影构图小节
  • DAY 28 类的定义和方法
  • RAG数据处理:PDF/HTML