log4j日志时间点 线程号 操作数据库动作
2017-10-21 12:32:52,804 http-bio-8080-exec-150 select TOTAL_DAY_LIMIT null then insert 0 commit;
2017-10-21 12:32:52,842 http-bio-8080-exec-152 select TOTAL_DAY_LIMIT 0
2017-10-21 12:32:53,224 http-bio-8080-exec-150 update TOTAL_DAY_LIMIT+1--->TOTAL_DAY_LIMIT='1' commit;
2017-10-21 12:32:53,325 http-bio-8080-exec-153 select TOTAL_DAY_LIMIT 1
2017-10-21 12:32:53,475 http-bio-8080-exec-152 update TOTAL_DAY_LIMIT+1--->TOTAL_DAY_LIMIT='2' commit;
2017-10-21 12:32:53,564 http-bio-8080-exec-154select TOTAL_DAY_LIMIT 2 限额超限,拒绝交易
2017-10-21 12:32:53,718 http-bio-8080-exec-153 update TOTAL_DAY_LIMIT+1--->TOTAL_DAY_LIMIT='3' commit;
正常交易流程:客户单卡单日累计限额为2元(TOTAL_DAY_LIMIT),并发4笔交易,每笔交易1元,当客户消费第3笔时,限额超限,拒绝交易,
数据库应该记录限额为2元(TOTAL_DAY_LIMIT)
实际交易流程:客户单卡单日累计限额为2元(TOTAL_DAY_LIMIT),并发4笔交易,每笔交易1元,当客户消费第4笔时,限额超限,拒绝交易,
数据库应该记录限额为3元(TOTAL_DAY_LIMIT),原因如上。
有没有好的解决方案呢,按照正常的交易流程。
相关推荐
Java 高并发多线程编程系列案例代码 & 教程 & 面试题集锦! !! 包括但不限于线程安全性, atomic包下相关类、CAS原理、Unsafe类、synchronized关键字等的使用及注意事项,
多线程有很好的并发性即无序性,在某些特殊情况下需要用到多线程然而又要使其具备顺序性,这种时候就有了一个特殊的场景那就是多线程顺序执行,在现在VS2015中Task自带了顺序执行的方法,但在此之前的旧项目中如果...
内容概要:最新2023年Java高并发多线程后端面试题整理, 包含线程池,并发集合,volatile,CountDownLatch,Semaphore,Phaser,AQS,ReentrantLock,ReentrantLock等等问题, 用简洁明了的语言,通俗易懂地阐述了高...
高并发多线程面试专题及答案(上) 包括:Synchronized相关问题 可重入锁ReentrantLock及其他显式锁相关问题 Java线程池相关问题 Java内存模型相关问题
在开发过程中自己编写的多线程并发程序组件源代码共享给大家,里面有测试的例子,提供给大家学习,希望大家多提宝贵意见~
JUC代码收集,java高并发多线程学习
这个是一个java开发的多线程高并发实例,一个真正实现并发队列接收,多线程处理的程序,完整实例,可以使用JMETER性能测试工具测试
Java 模拟线程并发 Java, 模拟线程并发,线程,并发 Java, 模拟线程并发,线程,并发 Java, 模拟线程并发,线程,并发 Java, 模拟线程并发,线程,并发
socket高并发多线程多进程代码
多线程精品资源--高并发-高可靠-高性能three-high-import导入系统-高并发多线程进阶
多线程,高并发
java多线程与高并发java多线程与高并发java多线程与高并发
java并发编程总结,为xmind格式,总结的很详细,包含常见的并发容器,锁等知识
多线程高并发马士兵老师的课堂笔记
linux下完整的epoll多线程高并发服务器代码
多线程高并发中高级工程师进阶课程,讲述多线程面试中常见问题,剑指offer中经典多线程题型汇总,注意只专注多线程模块
马士兵老师课程笔记 https://www.bilibili.com/video/BV1of4y1p74A?p=45
并发执行线程thread-1和thread-2, 结果在同一时间执行了thread-1和thread-2。python实现在import _thread时,需pip install threadpool.
4. 当一个线程进入一个对象的一个 synchronized 方法后,其它线程是否可进入此对象的其它方法? 5. 简述 synchronized 和 java.util.concurrent.locks.Lock 的异同? 6. 概括的解释下线程的几种可用状态。