首页 > 解决方案 > python诅咒多线程

问题描述

我有诅咒的问题。当我尝试在多个窗口中显示文本时,程序发生了一些奇怪的事情。奇怪的字符出现在整个窗口中。

我知道这似乎在 ncurses 中是固定的,但是 python 没有这个库。我寻求帮助!

from signal import signal, SIGINT
from threading import Thread
from time import sleep
import curses


def main(scr):
    firstT = Thread(target=thr1)
    firstT.setDaemon(True)
    secondT = Thread(target=thr2)
    secondT.setDaemon(True)
    secondT.start()
    firstT.start()
    scr.getch()


def thr1():
    counter = 0
    win = curses.newwin(1, 5, 1, 1)
    while True:
        win.addstr(0, 0, str(counter))
        win.refresh()
        counter += 1
        sleep(0.5)


def thr2():
    counter = 0
    win1 = curses.newwin(1, 5, 2, 1)

    while True:
        win1.addstr(0, 0, str(counter))
        win1.refresh()
        counter += 1
        sleep(0.1)


def handler(signal_received, frame):
    curses.endwin()
    curses.curs_set(1)
    exit(0)


if __name__ == "__main__":
    signal(SIGINT, handler)
    curses.wrapper(main)


输出

标签: pythonpython-3.xmultithreadingcurses

解决方案


推荐阅读