我希望我的脚本在用户按下回车键时触发用户输入。然后主程序将检查txUpdated标志并使用此输入。
我在Python中运行一个线程,它只是等待用户输入:
class InputThread(threading.Thread):
def __init__(self, threadID, name):
threading.Thread.__init__(self)
self.threadID = threadID
self.name = name
def run(self):
global screenLock
global txUpdated
global txMessage
global endFlag
lock = threading.Lock()
print "Starting " + self.name
while not endFlag:
txMessage = raw_input()
if (txMessage == ""):
screenLock = 1
txMessage = raw_input("Enter Tx String: ")
screenLock = 0
with lock:
txUpdated = 1
print "Exiting " + self.name
问题在于我不知道如何在没有接收到用户输入的情况下结束这个线程。即使我的主程序设置了endFlag,线程也不会结束,直到用户再次输入一条消息。
有人有什么建议吗?