我想将SQLite用于我的GUI Python应用程序,但我必须每500 MS更新一次数据库而不影响我的程序的性能.
我正在使用PyQt4,所以我考虑使用QThread,但似乎很难处理,所以我想知道它是否是真正尝试理解它之前的最佳方式.
我的问题是:QThread是最好的方式还是其他方式?
解决方法:
根据python实现依赖于GIL的事实,即使使用线程或计时器,您也无法在程序中执行某些操作(可能代价高昂),而不会影响程序的全局性能.
我建议你看看multiprocessing模块来解决这个限制.使用此模块,您将不再使用线程(受GIL影响),而是使用进程(不受GIL影响).
也许你可以创建一个子进程,当主进程继续他的工作时,它会设置一个定时器来每500ms进行一次更新.
然后,您将让系统完成平衡程序的工作,并且在响应性方面可能更好(特别是在多核环境中)
原文地址:https://codeday.me/bug/20190709/1417127.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。