1
所以我编写了一个使用线程的程序,但是当我创建一个新线程时,它会被卡在该线程中,而程序的其余部分无法运行。为什么我的程序卡在一个线程上?
t=threading.Thread(target=get_connections())
t.start()
def get_connections(self):
c, addr=self.s.accept()
为什么我的程序停留在这个线程上?
所以我编写了一个使用线程的程序,但是当我创建一个新线程时,它会被卡在该线程中,而程序的其余部分无法运行。为什么我的程序卡在一个线程上?
t=threading.Thread(target=get_connections())
t.start()
def get_connections(self):
c, addr=self.s.accept()
为什么我的程序停留在这个线程上?
当您将该函数传递给Thread
时,您正在调用该函数。不要包括括号。它改成这样:
t=threading.Thread(target=get_connections)
的第二个问题是,您引用get_connections()
定义之前。您需要稍微移动该定义。
target=get_connections()
将通过get_connections作为目标参数传递返回值。
哦,我的坏...我应该意识到我有那些括号......哈哈谢谢!是的,我知道该方法是在通话之后。我只是在这里粘贴代码的一部分,并将其置于乱序。 –