如何解决在python线程中返回值
我是Python的新手,我想从线程中获取值。我在线程中调用函数Logica,该函数返回一个值,我想知道如何获取值歌曲,因为稍后将在迭代器中使用它。 Comand是一个字符串。我正在使用库线程
def logica_thread ( comand):
threading.Thread(target= logica,args = (comand,),daemon = True).start()
def logica(comando):
request = requests.get('http://127.0.0.1:5000/' + comand)
time.sleep(5)
songs = request.json()['data']
return songs
解决方法
在您的设置中有些困难,因为您没有对该线程的引用。所以
- 启动它之后,线程何时准备就绪?
- 结果返回哪里?
1可以通过将线程分配给变量来固定。 2您可以为结果提供一个外部列表,并将其作为参数传递。
import threading
import time
def test_thread(list):
for i in range(10):
list.append(str(i))
my_list = []
my_thread = threading.Thread(target=test_thread,args=[my_list])
my_thread.start()
while my_thread.is_alive():
time.sleep(0.1)
print(my_list)
结果
['0','1','2','3','4','5','6','7','8','9']
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。