How to handle MySQL connection(s) with Python multithreading

前端 未结 3 1492
暖寄归人
暖寄归人 2021-02-14 10:56

I have a main Python script which connects to a MySQL database and pulls out few records from it. Based on the result returned it starts as many threads (class instances) as man

3条回答
  •  遥遥无期
    2021-02-14 11:05

    Here is an example using multithreading deal mysql in Python, I don't know your table and data, so, just change the code may help:

    import threading
    import time
    import MySQLdb
    
    Num_Of_threads = 5
    
    class myThread(threading.Thread):
    
        def __init__(self, conn, cur, data_to_deal):
            threading.Thread.__init__(self)
            self.threadID = threadID
            self.conn = conn
            self.cur = cur
            self.data_to_deal
    
        def run(self):
    
            # add your sql 
            sql = 'insert into table id values ({0});'
            for i in self.data_to_deal:
                self.cur.execute(sql.format(i))
                self.conn.commit()
    
    threads = []
    data_list = [1,2,3,4,5]
    
    for i in range(Num_Of_threads):
        conn = MySQLdb.connect(host='localhost',user='root',passwd='',db='')
        cur = conn.cursor()
        new_thread = myThread(conn, cur, data_list[i])
    
    for th in threads:
        th.start()
    
    for t in threads:
        t.join()
    

提交回复
热议问题