记一个多线程调用同一个函数引发的数据冲突问题

发布时间 2023-09-22 11:09:26作者: anyiya

main.py负责接收请求,异步起线程调用高度离散的B(a、b、c...).py类文件,B(a、b、c...).py类文件在执行结束后会统一调用C.py文件中的一个函数规范处理结果,C.py本来的用途是解耦提高代码复用,但在高并发情况下出现了数据冲突的问题。即只有B(a).py才会产生的结果给写进了只会调用B(b).py的源数据中,产生的数据冲突造成数据库数据错乱。

在Python中,如果多个线程都调用同一个函数,默认情况下是没有线程保护措施的,可能存在竞争条件和数据冲突的问题。