gpt4 book ai didi

python - 需要线程阻止下一个代码行,但不需要其他线程

转载 作者:太空宇宙 更新时间:2023-11-03 21:23:54 25 4
gpt4 key购买 nike

我有一个方法,使用线程连接到我的数据库来检查数据库中是否存在该用户。我有另一个线程负责更新 GUI。我需要数据库线程阻止其后面的代码直到其终止,但不阻止 GUI 线程。我怎样才能做到这一点?

我尝试过使用 join 命令,但它会阻塞 GUI 线程。我尝试使用一个循环,该循环在数据库线程不活动之前不执行任何操作,但它也会阻塞。

#GUI Thread
self.guiThread = threading.Thread(group= None, target=self.guiLoop)
self.guiThread.start()

#GUI Method
def guiLoop(self):
while True:
self.Update()

#Login Button Method
def onLoginButtonClick(self, event):
id = self.idBox.GetValue()
self.idBox.SetValue("")
password = self.passwordBox.GetValue()
self.passwordBox.SetValue("")
self.retList = []
self.testBool = False
dbThread = threading.Thread(group= None, target=self.checkUser, args=(id, password, self.retList))
dbThread.start()
#TODO Blocking
print (self.retList)

#Database Thread Method
def checkUser(self, id, password, retList):
self.retList = DB.checkUser(id,password)

DB.checkUser 是检查数据库是否有用户的方法,并返回包含用户信息的列表,如果数据库中没有用户,则返回空列表。

最佳答案

找到了解决方案 - Wxpython 的延迟 react 类。

关于python - 需要线程阻止下一个代码行,但不需要其他线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54000142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com