今天看了黎活明老师的 实现订单加锁解锁(也包括生成订单号)功能 的视频,即多人操作(审核等)订单时的如何加锁。

对事务并发又温习了一下。涉及的东西无非是操作系统的多线程引起的并发,这里有个概念就是cpu时间片,也就是说在一个cpu时间片上只会有一个指令(一个线程里的)在执行,到下一个时间片就根据线程的调度就会执行其它指令(可能是另一个线程的),对我们来说就是多线程并发。由于时间片很短,所以我们把两个用户同时操作看成是并发的。

另外多线程并发操作数据库时,就又有一个概念,就是数据库隔离级别。

我们的订单加锁就是在数据库隔离级别上的某个级别上做。隔离级别不同可能做法不同。

oracle数据库默认隔离级别,会对update加更新锁,更新完后会加排他锁,事务提交后才会解除排他锁。

黎活明老师巴巴远动视频里还讲了两种生成订单号的方法,其中一种是可以用在分布式环境部署是生成不唯一订单号的方法,建议看看。

订单号:

主要当t1的事务提交后,t2才能更新。所以t1更新完后,再查询出来的数据一定是他刚更新过得。

当然这要两点保证:

1: update和select在一个事务里。

2:事务的隔离级别,利用数据库事务的锁机制。

java 订单号 交易锁_(精)订单加锁及生成订单号相关推荐

  1. 生成打印条码_条码打印软件如何生成跳号条形码

    所谓跳号就是1跳到2然后再跳到3这样的流水码,有些人会把这种的流水数据称为跳号,今天就给大家介绍一下如何用中琅条码打印软件生成跳号条形码. 在条码打印软件中新建一个空白标签,选择打印机并自定义设置标签 ...

  2. java实现分布式redis锁_使用redis实现分布式锁

    # 简介: 当高并发访问某个接口的时候,如果这个接口访问的数据库中的资源,并且你的数据库事务级别是可重复读(Repeatable read)的话,确实是没有线程问题的,因为数据库锁的级别就够了:但是如 ...

  3. java 微信文章评论点赞_使用fiddler抓取微信公众号文章的阅读数、点赞数、评论数...

    1 设置fiddler支持https 打开fiddler,在菜单栏中依次选择 [Tools]->[Options]->[HTTPS],勾上如下图的选项: 单击Actions,选择Expor ...

  4. java数据库的事务锁_数据库事务和锁

    简述 关系型数据库有四个显著的特征,即安全性.完整性.并发性和监测性.数据库的安全性就是要保证数据库中数据的安全,防止未授权用户随意修改数据库中的数 据,确保数据的安全.在大多数数据库管理系统中,主要 ...

  5. silklabo哪个公众号有资源_微小说免费渣渣团资源公众号看大全集

    "免费小说全本"公众号.小说免费阅读吧|免费小说在线阅读网|免费小说资源|小说传送站|小说免费公众号推荐|免费小说全集书城推荐|免费小说公众号渣渣团|小说免费阅读叶辰萧初然|霸道总 ...

  6. 学区摇号软件设计_多校划片、电脑摇号之后,拼娃、拼钱、拼房的9种对应方案...

    这篇文章是写给现在的自己以及7年以后的自己,看看当初的判断是否正确. 因为明年,我的娃也要上小学了. 幼升小.小升初,公办学校实行划片入学,多校划片入学, 民办学校实行100%电脑摇号,基本已成定局. ...

  7. python公众号留言功能_搭建hexo博客给公众号制作留言功能

    大家都知道,18年3月份后注册的公众号都不给留言功能了,作为主要以技术文章为主的公众号,没有留言功能真是不方便.周末这两天我就一直在折腾这个留言功能,借助博客的留言功能,放在阅读原文里.昨天晚上终于折 ...

  8. python简答题及答案查询公众号和软件_用Python分析了微信公众号

    本文是一篇基于 Python 的数据分析实践教程,数据来源于"Python之禅"公众号的历史文章,完整源代码和数据可以在公众号"Python之禅"回复「wxda ...

  9. java验证码图片滑动验证码_图片滑动验证码的生成

    使用Java生成图片滑动验证码 image.png 目前接到了一个新的小需求,要在登录时进行滑动图片验证. 搜了一下网上的demo,没有太多很完整的demo.就参考各种文档自己拼凑了一个出来.整理一下 ...

最新文章

  1. windows-oracle下载安装,简单的启动使用。
  2. java的poi导出Excel文件
  3. unity应用开发实战案例_「简历」STAR法则的实战应用,附手把手教学案例
  4. 关于推送系统设计的一些总结与思考(三)
  5. 你与产品经理之间差的才不只是一段代码!
  6. Ubuntu /CentOS 设置开机启动,添加自定义系统服务,自定义开机启动
  7. Ant Design暗黑模式设计解析
  8. R Talk | 旷视南京研究院魏秀参:细粒度图像分析综述
  9. 程序员如何写一份打动面试官的简历?这些坑你必须注意了!
  10. vscode写的html网页中文乱码
  11. 经典查找算法 --- R树
  12. 测试用例设计方法详解
  13. CDR插件开发之Addon插件001 - 从零开始安装VS2022详细步骤
  14. 数据库数据误删除恢复
  15. Java基础系列-《流程控制--循环结构》
  16. STL学习之路(一)
  17. 软件外包交易平台排行
  18. hdu 4607 Park Visit(树上最长链)
  19. 基于单片机的智能电表-交流电压电流互感器设计
  20. 微型计算机使用的crt信号,《微型计算机及其接口技术》课程学习方法篇(2)...

热门文章

  1. 【C语言】一元二次方程求解
  2. 解读通过风格迁移的浓雾天气条件下 无人机图像目标检测方法
  3. 瞬态电压抑制二极管的使用指导
  4. VMware 提供的网络连接有 5 种,分别是“桥接模式“、“NAT 模式“、“仅主机模式“、“自定义“和“LAN 区段“:
  5. 【java IO序列化详解】
  6. 删除DCIM文件下的照片无效问题
  7. try,catch,finally的用法
  8. 5G商用后的资费会贵吗?
  9. OMI卫星数据介绍[整理]
  10. C语言sum和SUM的区别,sum*=sum问题