python多线程代码简化,求帮助

问题遇到的现象和发生背景

有什么办法可以简化一个python多线程的代码,求帮助,刚开始学习

用代码块功能插入代码,请勿粘贴截图
def main1():
    try:

        start_tem_filling(list1[0][0], list1[0][1], list1[0][2], list1[0][3])

    except Exception:
        pass


def main2():
    try:

        start_tem_filling(list1[1][0], list1[1][1], list1[1][2], list1[1][3])
    except Exception:
        pass


def main3():
    try:

        start_tem_filling(list1[2][0], list1[2][1], list1[2][2], list1[2][3])
    except Exception:
        pass


def main4():
    try:

        start_tem_filling(list1[3][0], list1[3][1], list1[3][2], list1[3][3])
    except Exception:
        pass


def main5():
    try:

        start_tem_filling(list1[4][0], list1[4][1], list1[4][2], list1[4][3])
    except Exception:
        pass


def main6():
    try:

        start_tem_filling(list1[5][0], list1[5][1], list1[5][2], list1[5][3])
    except Exception:
        pass


def main7():
    try:

        start_tem_filling(list1[6][0], list1[6][1], list1[6][2], list1[6][3])
    except Exception:
        pass


def main8():
    try:

        start_tem_filling(list1[7][0], list1[7][1], list1[7][2], list1[7][3])
    except Exception:
        pass


def main9():
    try:

        start_tem_filling(list1[8][0], list1[8][1], list1[8][2], list1[8][3])
    except Exception:
        pass


def main10():
    try:

        start_tem_filling(list1[9][0], list1[9][1], list1[9][2], list1[9][3])
    except Exception:
        pass


if __name__ == '__main__':
    list2 = [main1, main2, main3, main4, main5, main6, main7, main8, main9, main10]
    
    try:
        for i in list2:
            multiprocessing.Process(target=i).start()
            time.sleep(3)
            
    except Exception:
        pass

运行结果及报错内容

可以跑得起来

我的解答思路和尝试过的方法

想用一个for循环去简化上面重复定义的函数

我想要达到的结果

简化这多线程的代码

你定义的main函数内容都一样,只是参数不同,为什么不在Process里指定参数呢?这样就只需要一个函数了
比如这样:

def main1(i):
    try:
        start_tem_filling(list1[i][0], list1[i][1], list1[i][2], list1[i][3])
    except Exception:
        pass

import multiprocessing
import time

if __name__ == '__main__':
    
    try:
        for i in range(10):
            multiprocessing.Process(target=main1,args=(i,)).start()
            time.sleep(3)
            
    except Exception:
        pass

使用redis队列框架,例如huey就会变得异常简单,主程序只是发送参数而已
或者不用队列,直接简单改下就行了
你把start_tem_filling干嘛又封装到main-x函数里头,画蛇添足了,直接每个线程给该函数传参数就可以了