软件设计师29--并发控制

软件设计师29--并发控制

  • 考点1:事务的特性
    • 例题:
  • 考点2:并发问题
    • 并发产生的问题
    • 丢失更新
    • 不可重复读问题
    • 读“脏”数据
  • 考点3:封锁协议
    • 例题:

考点1:事务的特性

  • 原子性(Atomicity):事务作为一个不可分割的整体,确保所有操作要么全部成功,要么全部失败,不会停留在中间状态。
  • 一致性(Consistency):事务必须保证数据库从一个一致的状态转换到另一个一致的状态。例如,转账操作中,无论转账次数如何,双方的总金额必须保持不变。
  • 隔离性(Isolation):在并发环境中,多个事务的执行应相互隔离,以确保每个事务的操作不会被其他事务干扰。
  • 持久性(Durability):一旦事务被提交,对数据库的更改就应该是永久性的,即使系统发生故障也不会丢失。

例题:

1、事务的 (D)是指,当某个事务提交(COMMIT)后,对数据库的更新操作可能还停留在服务器磁盘缓冲区而未写入到磁盘时,即使系统发生故障,事务的执行结果仍不会丢失。

A、原子性
B、一致性
C、隔离性
D、持久性

考点2:并发问题

并发产生的问题

  • 丢失更新
  • 不可重复读问题
  • 读“脏”数据

丢失更新

两个事务对同一个数据进行修改,导致事务A对数据库的修改被事务B的修改所覆盖
在这里插入图片描述

两个事务T1,T2对A进行减1操作,但是在T1事务没有提交时,T2也读A并进行减1操作。

结果是:T1,T2两个事务对同一个数据A进行了两次减1操作,但是最终结果是15,也就是有一个修改丢失了。

不可重复读问题

事务对同一数据进行两次读取的结果不同。原因是两次读取的间隙数据被另一事务修改了。
在这里插入图片描述

T1事务对A、B求和,但是在T1事务两次求和的间隙,T2事务修改了B的值,导致T1事务两次相同的操作得到的结果却不一样,也就是不可重复读。

读“脏”数据

某事务读取的数据是其他事务修改后的值,但这个修改动作后来被撤销了,也就是读到了脏数据。
在这里插入图片描述
T1事务读C的值,然后将值修改,然后写入C,这时T2事务读C的值,读到的是修改后的值,但是,T1事务最后进行了回滚,那也就意味着T2事务读到的C的值是错误的,也就是读到了脏数据。

考点3:封锁协议

在这里插入图片描述

共享锁/S锁/读锁:若事务T对数据对象A加上S锁,其他事务只能对A再加上S锁,不能再对A添加X锁。
排他锁/独占锁/X锁/写锁:若事务T对数据对象A加上X锁,其他事务不能再对A添加任意锁。

例题:

1、若事务T1对数据D1加了共享锁,事务T2T3分别对数据D2和数据D3加了排他锁,则事务(D);

A、T1对数据D2D3加排他锁都成功,T2T3对数据D1加共享锁成功
B、T1对数据D2D3加排他锁都失败,T2T3对数据D1加排他锁成功
C、T1对数据D2D3加共享锁都成功,T2T3对数据D1加共享锁成功
D、T1对数据D2D3加共享锁都失败,T2T3对数据D1加共享锁成功

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/525591.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

好文阅读-数据库-CREATE TABLE AS

添加链接描述 收获如下: 1 DROP DELETE TRUNCATE对比 2 CREATE TABLE AS 这种方式创建表不会复制表的索引,主键,外键约束,包括自增ID。因此应该使用 CREATE TABLE LIKE。 3 数据的处理可以通过建立临时表的方式,之后还…

【实战解析】YOLOv9全流程训练至优化终极指南

【实战解析】YOLOv9全流程训练至优化终极指南 0.引言1.环境准备2.数据预处理(1)数据准备(2)按比例划分数据集(3)xml转txt脚本(4)配置文件 3.模型训练(1)单GPU…

超越基准 | 基于每个高斯变形的3D高斯溅射方法及其高效训练策略

作者:小柠檬 | 来源:3DCV 在公众号「3DCV」后台,回复「原论文」可获取论文pdf 添加微信:dddvision,备注:3D高斯,拉你入群。文末附行业细分群 详细内容请关注3DCV 3D视觉精品课程:…

ctfshow web入门 命令执行 web53--web77

web53 日常查看文件 怎么回事不让我看十八 弄了半天发现并不是很对劲,原来我发现他会先回显我输入的命令再进行命令的回显 ?cnl${IFS}flag.php||web54 绕过了很多东西 基本上没有什么命令可以用了但是 grep和?通配符还可以用 ?cgrep${IFS}ctfshow${IFS}???…

JavaCollection集合--单列集合——JavaCollections类

目录 集合--->容器 代码 运行 Java集合API 单列集合 Collectio接口 List接口实现类 ArrayList 数组实现 概念 代码 运行 代码 ArrayList方法 代码 运行 LinkedList 链表实现 概念 代码 运行 Vector 数组实现 概念 代码 运行 List接口集合…

知识推理技术解析与实战

目录 一、引言二、知识推理基础知识表示方法本体论语义网络图形数据库 推理机制概述演绎推理归纳推理类比推理 实践代码示例 三、知识推理的核心技术自动推理系统规则引擎推理算法 知识图谱的运用构建知识图谱知识推理与查询 推理算法深度分析转导推理逻辑推理概率推理 实践代码…

java智慧校园系统源码+SaaS智慧学校系统源码+PC端

java智慧校园系统源码SaaS智慧学校系统源码PC端 有演示,可正常上线运营可授权PC端,SaaS服务模式开发环境:Javaspringbootvueelement-uimysql开发语言:JavaspringbootVUE 小程序 全套源码 建设一个一流的智慧校园,使先进…

MuJoCo 入门教程(五)Python 绑定

系列文章目录 前言 本笔记本提供了使用本地 Python 绑定的 MuJoCo 物理入门教程。 版权声明 DeepMind Technologies Limited 2022 年版权所有。 根据 Apache License 2.0 版(以下简称 "许可协议")授权;除非遵守许可协议&am…

操作系统1

概念 操作系统 组织和管理计算机系统中的软件和硬件,组织计算机系统工作流程、控制程序执行,提供给用户工作环境和友好的接口。 3个作用: 管理计算机中运行的程序和分配各种软硬件资源为用户提供友善的人机洁界面为应用程序的开发和运行提供…

二维相位解包理论算法和软件【全文翻译- 噪声滤波(3.53.6)】

3.5 噪音过滤 在本节中,我们将简要讨论相位数据的滤波问题。除了提高信噪比之外,噪声滤波还有助于减少残差的数量,从而大大简化相位解包过程。不过,我们必须注意到一个重要的问题。正如我们在第 1 章中指出的,相位本身并不是信号。它只是信号的一种属性。因此,应该过滤的…

ACM ICPS独立出版 | 第三届智能无人系统与人工智能国际会议(SIUSAI 2024)

会议简介 Brief Introduction 2024年第三届智能无人系统与人工智能国际会议(SIUSAI 2024) 会议时间:2024年5月17日-19日 召开地点:中国青岛 大会官网:www.siusai.org 2024年第三届智能无人系统与人工智能国际会议(SIUSAI 2024)由青岛大学主办…

基于java JSP 实现的固定资产管理系统

开发语言:Java 框架:ssm 技术:JSP JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea 系统展示 前台首页功能模块 固…

UV胶水能够粘接聚苯乙烯PS吗?

UV胶水能够粘接聚苯乙烯PS吗? 聚苯乙烯(Polystyrene,简称PS)是一种常见的合成聚合物,属于热塑性塑料。它是由苯乙烯单体聚合而成的,具有轻质、透明或半透明、电绝缘性好等特点。常见: 包装材料白色泡沫塑料…

[ESP32] 用RMT模块做红外遥控发射

本文采用ESP32内部只带的RMT模块作为发送红外遥控的发射器。 红外协议来自 美的R05D功能说明书: https://wenku.baidu.com/view/c46594141ed9ad51f01df2c3.html 通常编码格式为: L,A,A’,B,B’,C,C’, S, L,A,A’,B,B’,C,C’ T第一帧和第二帧相同采用MSB在先&…

武汉星起航深入分析市场动态,赢得跨境市场的高度认可

随着全球跨境电商的蓬勃发展,武汉星起航以其独到的市场洞察和深度合作模式在行业中崭露头角。公司凭借对市场趋势、消费者需求和竞争格局的敏锐洞察而声名鹊起,不仅成功跟随市场脉搏,更在竞争激烈的跨境电商领域中脱颖而出。 武汉星起航在制…

摄像头校准漫反射板提高识别物体

摄像头校准漫反射板是一种用于摄像头校准的重要工具。在摄像头成像过程中,由于各种因素的影响,如光线、角度、镜头畸变等,会导致摄像头成像出现偏差。为了消除这些偏差,提高摄像头的成像质量,需要使用摄像头校准漫反射…

短剧App开发:打造沉浸式观剧体验,引领短剧新风尚

在移动互联网时代,短视频、短剧等短内容形式正以其独特的魅力迅速崛起。为了满足广大用户对短剧内容的需求,我们致力于开发一款全新的短剧App,为用户带来沉浸式的观剧体验,引领短剧新风尚。 短剧App的开发,旨在为用户…

在python读取相邻两行的数据进行运算

​在数据处理和分析的过程中,我们经常需要从关系型数据库中提取数据。Python作为一种强大的编程语言,提供了多种库和工具来与SQL数据库进行交互。当我们需要获取SQL表中筛选后的行数时,可以使用Python结合SQL查询来实现。本文将详细介绍如何使…

arm交叉编译器工具

下载地址: Builds & Downloads | Linaro 进入首页后,点击" GNU Toolchain Integration Builds" 有以下版本: 根据自己的选择下载对应的版本,本例选择14.0-2023.06-1 根据板端对应的版本选择相应的下载 比如下载3…

OpenAI Sora:浅析文生视频模型Sora以及技术原理简介

一、Sora是什么? Sora官方链接:https://openai.com/sora 视频模型领头羊Runway Gen 2、Pika等AI视频工具,都还在突破几秒内的连贯性,而OpenAI,已经达到了史诗级的纪录。 OpenAI,永远快别人一步&#xff0…