无法使用线程插入数据

时间:2016-11-18 14:31:41

标签: python mysql multithreading python-2.7

我想通过线程将数据插入我的MySQL数据库。为了获取我的数据,我需要解析多个XML文件,所以我决定让每个文件由一个线程解析。

如果我运行代码插入它没有线程一切正常,但如果我运行相同的代码与更多的线程弹出一个Windows错误,程序退出。

#semaphore.acquire()
try:
    cursor.execute("LOAD DATA LOCAL INFILE '%s' INTO TABLE %s LINES TERMINATED BY '\r\n'" %
                   (filename, tablename))
    commit()
except MySQLdb.IntegrityError:
    pass
#semaphore.release()

这是我通过线程调用的函数。我注释掉信号量,因为我只用一个线程来测试这个代码(这应该与完全不使用任何线程的结果相同,但程序仍然关闭)

这是我的错误代码:

Process finished with exit code -1073741819 (0xC0000005)

为什么我不能用一个线程运行这段代码?

编辑: 多数民众赞成我如何称呼我的职能:

 def start_thread():  
        t = Thread(target=thread_parse, args=(file_name,))
        t.start()
        thread_list.append(t)

        for t in thread_list:
            t.join()

def thread_parse(file_name):
    parser = CVEParser()
    parser.parse(file_name) # Thats the function where it crashes

0 个答案:

没有答案