python多线程爬虫往mysql里面写数据导致死锁

https://img3.mukewang.com/5bc3585b00014b9108000634.jpg

我在爬虫里面用的是MySQLdb这个包进行insert操作,我一开始是所有子线程公用一个mysql连接,结果发现数据写不进去,然后我又试过所有子线程公用一个cursor游标,出现了只有部分数据写进去了,而且自增id居然还自增了。(也就是数据没有写入进去,但是自增id的自增数增加了),最后我干脆每个子线程在每一次写入的时候创建一个连接句柄,然后就出现了如图症状,请问这该怎么办啊?有什么优化方法吗?

翻翻过去那场雪
浏览 1859回答 2
2回答

凤凰求蛊

首先,多线程共用一个连接,相当于并发,很多线程需要等待。每个线程一个连接利用率不高,所以一般都是连接池。不用了回收,并且连接一直保持,避免了频繁连接断开。配图,题主是否开启事务
打开App,查看更多内容
随时随地看视频慕课网APP