线程不运行(python3.6)

时间:2017-08-03 03:16:19

标签: python multithreading python-3.x python-multithreading

我发现python 3.6中的线程模块无法正常工作。 问题是:

  1. 线程在我调用whatsoever_thread_name.start()。
  2. 之前开始运行
  3. 此外,代码不会进入我在代码中声明第一个线程对象的下一步
  4. 示例:

    import threading
    
    
    def a():
        while(1):
            print(1)
    
    def b():
        while(1):
            print(222)
    
    t = threading.Thread(target = a())
    v = threading.Thread(target = b())
    

    结果: 1 1 1 1 1 1 1 1 ......无限地

1 个答案:

答案 0 :(得分:1)

您需要将回调分配给target使用()调用函数:

t = threading.Thread(target=a)
v = threading.Thread(target=b)

线程将为您运行这些功能。 ()表示您自己调用它们并尝试将返回值分配给target,但这些函数不会返回,因为它们会永远运行。