用多线程通过 pymysql 向 mysql 写入数据,报错 “ Packet sequence number wrong",是什么原因呢?
1
idblife 2017 年 4 月 28 日
多线程的策略有问题,google 一下就明白了
另外这个如果想找大家帮忙,需要贴源代码出来 |
2
rocksolid 2017 年 4 月 28 日
升级 pymysql
|
3
cmlz 2017 年 4 月 28 日
换个 pymysql 版本试试?
|
4
maiganne OP @idblife 我发现每启动一个线程,就要进行一次与数据库的连接,conn=pymysql.connect(**database),这样就不会报错,而所有线程共用一个连接对象 conn 就会出错,不知道这是什么原因
|
5
daybyday 2017 年 4 月 28 日
几种解决方案:
1. 每个线程拥有自己的连接 2. 所有线程共用一个连接,加锁互斥使用此连接 3. 所有线程共用一个连接池,需要考虑线程总数和连接池连接数上限的问题 |