同时运行多个线程

发布于 2021-01-29 15:05:14

因此,我的目标是让do_something()函数启动自己的线程,以便do_something()可以并行运行,而不必等待上一个线程完成。问题在于,它似乎不是多线程的(意味着一个线程在另一个线程开始之前就完成了)。

for i in range(len(array_of_letters)):

    if i == "a":
        t = threading.Thread(target=do_something())

        print "new thread started : %s"%(str(threading.current_thread().ident))     
        t.start()

我也有current_thread().identdo_something()函数的内部,但似乎启动的线程的标识与从其运行python脚本的主线程相同。我认为我的方法不正确。

关注者
0
被浏览
103
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    这是常见错误,容易出错。

    target=do_something()只需在主线程中一次执行您的函数,然后将None(我想为您函数的返回值)作为target函数传递给线程,这不会触发任何可见错误;但也什么也不做。

    您必须传递实际函数而不是结果:

    t = threading.Thread(target=do_something)
    

    会更好地工作



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看