Python:多线程中的CherryPy和Win32 API



为了给我的Python库添加更多工具,我开始了一个宠物项目——一个个人时间管理应用程序,Thyme。

目前,该应用程序由两个进程组成:每500ms,一个单独的进程通过win32ui获得聚焦窗口,并通过SQLAlchemy将其写入SQLite DB;而主进程启动一个CherryPy web服务器来处理应用程序的UI。

然而,这两个Python进程总共占用了大约30MB的内存,我想减少它。我知道这样做的一种方法是使用多线程——但我真的不知道它是否值得打开这个蠕虫罐头。我的用例是否适合多线程方法?

让我们看看:您已经有两个可以工作的程序,并且您希望在同一个进程的线程中运行它们。一种非常简单的方法是简单地将两者复制在一起,然后在单独的线程中运行各自的main()。问题的复杂程度取决于两者之间共享状态的数量。我看到的共享状态是标准输入和标准输出,但除此之外,两者之间的整个通信是通过SQLite DB进行的。如果该DB的实现方式使程序的两个独立部分不会通过全局状态相互影响,那么应该没有问题。

我的建议是:试试!

最新更新