【发布时间】:2020-05-01 11:00:59
【问题描述】:
我创建了一个线程,应该显示经过的秒数。不幸的是,当我使用 curses 模块中的 getstr 时,整个脚本都会停止,包括线程。由于订单重叠,我必须使用线程锁来阻止随机字符被打印出来。
任何有关如何解决此问题或替代方案的建议都会很棒!
在下面的示例中,window 和 window2 已经设置好了...
lock = threaing.Lock()
def main_function():
#starts thread
t1 = threading.Thread(target=time_calc,args=(window2,))
t1.start()
#Gets user input
while True:
data = window1.addstr(y,x,"Type something in!")
data = window1.getstr(y,x,5)
lock.acquire()
window1.erase()
txt = "You said: "+data
window1.addstr(y,x,txt)
lock.release()
def time_calc(window2):
current_count = 0
while True:
time += 1
text = "Time Count: "+str(time)
lock.acquire()
window2.erase()
window2.addstr(y,x,text)
lock.release()
time.sleep(1)
【问题讨论】:
标签: python python-curses