转载|pymysql.err.InternalError: Packet sequence number wrong - got 45 expected 0
原文链接:https://www.cnblogs.com/heiao10duan/p/9373237.html原因:使用了多线程,多线程共享了同一个数据库连接,但每个execute前没有加上互斥锁方法:方法一:每个execute前加上互斥锁lock.acquire()cursor.execute(command,data)lock.release()方法二:每个线程拥有自己的数据库连接,即在线程调
·
原文链接:https://www.cnblogs.com/heiao10duan/p/9373237.html
原因:
使用了多线程,多线程共享了同一个数据库连接,但每个execute前没有加上互斥锁
方法:
方法一:每个execute前加上互斥锁
lock.acquire()
cursor.execute(command,data)
lock.release()
方法二:
每个线程拥有自己的数据库连接,即在线程调用函数中加上数据库连接代码
方法三:
所有线程共用一个连接池,需要考虑线程总数和连接池连接数上限的问题
前两个方法比较容易,后面一个连接池没写过,以后试试,目前用方法一解决。
更多推荐
所有评论(0)