使用input()和while循环进行线程化

时间:2015-07-25 20:51:57

标签: multithreading python-3.x io

我正在尝试学习/理解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循环?

0 个答案:

没有答案