Я создал поток, который должен показывать проходящие секунды. К сожалению, когда я использую getstr
из модуля curses
, весь скрипт останавливается, включая поток. Я должен использовать блокировку потока, чтобы остановить печать случайных символов из-за перекрывающихся порядков.
Любые предложения о том, как исправить это или альтернативу, были бы хорошими!
В приведенном ниже примере 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)