import os,threading
from DBUtils.PooledDB import PooledDB
import pymysql,random,time
from queue import Queue
# from twisted.enterprise import adbapi
# from twisted.internet import reactor
# 创建一个有10个连接的mysql连接池.创建并维持10个线程并发写入1000000条随机数据到test.stu表中
class Test(threading.Thread):
def __init__(self,n):
super(Test,self).__init__()
mysql_conf = {
"host":"127.0.0.1",
"user":"root",
"passwd":"*****",
"charset":"utf8",
"db":"test",
"cursorclass":pymysql.cursors.DictCursor
}
# 创建一个连接池,连接池初始最多容纳和创建25个连接,当连接池没有可用连接则阻塞
# 使用连接池可以进行长连接,无需每次操作mysql时都建立连接,节省了建立连接的时间
self.n=n
self.pool = PooledDB(pymysql,maxconnections=25,blocking=True,**mysql_conf)
self.alpha = list("qwertyuiopasdfghjklzxcvbnm")
self.sex=["m","s"]
def run(self):
print("%s号线程开始任务" % self.n)
sql = "insert into stu values (%s,%s,%s,%s,%s)"
# 获取连接
conn = self.pool.connection()