用多线程通过 pymysql 向 mysql 写入数据,报错 “ Packet sequence number wrong",是什么原因呢?

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