异步多线程
文章平均质量分 81
蔡定努
人前拼实力,人后拼努力
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
mysql默认事务隔离级别下并发读不到最新数据解决方案
从MySQL 5.5开始,InnoDB取代MyISAM成为默认存储引擎,支持事务、行级锁等特性,更适合高并发场景。文章通过用户更新查询案例,演示了事务隔离级别下数据一致性问题:方法b在事务中读取了方法a更新前的旧值。解决方案包括:1)使用悲观锁for update锁定查询行;2)采用共享锁保证读取最新数据。代码示例展示了如何在Spring Boot中实现这两种锁机制解决并发读写问题。原创 2025-09-22 17:41:03 · 255 阅读 · 0 评论 -
ThreadLocal、InheritableThreadLocal、TransmittableThreadLocal
复制之后,父子线程中的InheritableThreadLocal就没有关系了,父线程中InheritableThreadLocal的值再修改,也不会影响子线程中的值了,所以两次输出的都是张三。从结果中看,线程池执行了2次任务,2次拿到的都是张三,和主线程第一次放入的值是一样的,而第二次主线程中放入的是李四啊,但是第二次线程池中拿到的却是张三,这是什么原因?上面线程池的大小是1,也就是说这个线程池中只有一个线程,所以让线程池执行的2次任务用到的都是一个线程,从上面的日志中可以看到线程名称都是。原创 2024-12-30 10:49:45 · 273 阅读 · 0 评论 -
多线程事务管理:Spring Boot 实现全局事务回滚
在本文中,我们通过 TransactionTemplate 和多线程执行器实现了多线程中的全局事务控制,确保所有线程的数据库操作要么一起提交,要么在发生错误时一起回滚。在 Spring Boot 中,我们通常会在需要事务控制的服务方法上使用 @Transactional 注解来保证事务的一致性。在这些用户的处理过程中,数据库操作必须要么全部提交,要么在发生错误时全部回滚。因此,我们需要一种方式,能够在多线程环境下将所有线程的数据库操作放在同一个事务上下文中,并由主线程统一提交或回滚事务。原创 2024-09-24 23:12:08 · 1515 阅读 · 0 评论 -
线程池参数解析以及提交任务的流程
线程池参数解析以及提交任务的流程线程池的 6 个参数线程池处理新提交的任务线程池的 6 个参数ThreadPoolExecutor(Executor 接口的实现类)提供的构造方法:public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime,转载 2021-05-25 14:42:27 · 662 阅读 · 0 评论
分享