我正在使用Python中的curses开发应用程序。应用程序启动后几秒钟,随机出现一些故障。
首先我认为这是因为tmux和$TERM
变量,但它设置为screen-256
。在tmux之外运行应用程序也会导致这种故障。
以下是初始化curses screen
的代码答案 0 :(得分:2)
示例执行此操作:
import curses
from threading import Thread
class Screen(object):
def __init__(self):
self.maxx = None
self.maxy = None
self.run()
暗示您的应用程序可能有多个线程写入屏幕。但是curses通常不是线程安全的,所以你最终会使用他们的线程 - 以及其他线程 - 全局变量或静态变量的值。它不会很好用。
如果要在多线程应用程序中使用curses,则必须确保只有一个线程使用curses ,或者(可能)编译自己的ncurses副本库,它对可重入代码有基本的支持,并且在 配置的约束下工作。
进一步阅读: