1

一段时间以来,我一直试图了解 Python 的踩踏功能,但无法让它按我的预期工作(这显然是一个错误的理解)。

from threading import Thread
from time import sleep

def firstShout():
    print "Hello"

def distantEcho():
    sleep(5)
    print "World"

t1 = Thread(target=distantEcho())
t2 = Thread(target=firstShout())

t1.start()
t2.start()

我希望这会打开第一个线程,它会休眠 5 秒,同时还会调用第二个线程,该线程将立即打印“Hello”。因此,所需的输出将是“Hello”(5 秒睡眠)“World”。相反,我得到(5 秒睡眠)“世界”“你好”,好像我根本没有使用线程。

如前所述,这显然是我对线程功能缺乏了解,但我想看看如何让它与这个测试一起工作。

4

1 回答 1

2

只需删除线程定义中的调用(括号):

t1 = Thread(target=distantEcho)
t2 = Thread(target=firstShout)
于 2012-07-19T08:37:38.077 回答