我正在尝试学习/理解python中的线程并找到this。 我尝试使用input(),但它不像我想象的那样工作。
import queue
import threading
def cin(el, q):
while input() != el:
print('no')
continue
q.put(el)
checks = ['one', 'two']
q = queue.Queue()
for el in checks:
t = threading.Thread(target = cin, args = (el, q))
t.daemon = True
t.start()
s = q.get()
print(s)
我正在尝试运行两个线程,每个线程都有一个while循环来检查来自控制台的input()是否与列表中的一个元素匹配。如果没有,则等待下一个输入。发生的事情只是“一个”线程,因此列表中的第一个元素起作用。经过很多尝试'两个'线程的工作,但另一个没有。哪里出错了?只能有一个线程使用input()吗?是不是可以同时运行两个while循环?