我正在尝试这个。每当用户打开该程序时,他都应该在线“#39;并听取联系 这里加载了GUI。
class AppUI(Frame):
def __init__(self, parent):
Frame.__init__(self, parent)
self.parent = parent
self.initUi()
def initUi(self):
self.parent.title("Redux")
self.pack(fill=BOTH, expand=1)
self.initMenu()
self.initAudio()
self.initMidi()
self.initBroadcast()
self.initFriendList()
但每当我将我的帖子的代码粘贴到initUi
下时,它就会在加载时停滞不前,我的GUI也不会显示出来。 (继续加载,因为线程正在监听连接)
thread2 = threading.Thread(target=Connection().getOnline("", 50007))
thread2.start()
Class Connection():
def getOnline(self, host, port):
self.s.bind((host, port))
self.s.listen(2)
print('Now online - listening to connections')
conn, addr = self.s.accept()
print("Connected to:", addr)
为什么我的线程不起作用?
答案 0 :(得分:4)
你的麻烦就在这一行:
thread2 = threading.Thread(target=Connection().getOnline("", 50007))
在这里,您实际上正在调用 Connection().getOnline("", 50007)
,这会阻止。您还没有在后台完成此操作,您已经在启动线程之前完成了它。您需要将呼叫调整为如下所示:
thread2 = threading.Thread(target=Connection().getOnline, args = ("", 50007))