在python多线程中运行3个函数

时间:2020-04-23 14:31:22

标签: python multithreading

from threading import Thread
def thread1(n):
    sum2=0
    for i in range(1, n+1):
        i+=1
        sum2+=i
        temp=sum2
        print(temp)
def thread2(n: int) -> bool: 
    if n < 2:
        return False
    for i in range (2, n):
        if n % i is 0: return False 
    return True
def thread3(n):
    ret = 1
    for i in range(1, n+1):
        ret *= i
        return ret
def main():
    n=100
    t1=Thread(target=thread1,args=())
    t2=Thread(target=thread2,args=())
    t3=Thread(target=thread3,args=())
    t1.start()
    t2.start()
    t3.start()
    t1.join()
    t2.join()
    t3.join()

您好,我正在构建同时运行这3个函数(线程1至3)的代码。我现在遇到的麻烦是我不确定我的代码是否正确(到目前为止没有错误。) 我首先在python中使用线程,所以请您帮帮我吗?

1 个答案:

答案 0 :(得分:0)

您的所有三个函数都期望有一个参数n。创建线程时,需要提供函数名称以及函数所需的所有参数,因此您将需要以下内容:

t1=Thread(target=thread1,args=(n))

代替

t1=Thread(target=thread1,args=())