[英]Is Multi-threading required for PyQt4 and Writing to Serial
我的简单Python应用程序将PyQt4用于其GUI,单击QPushButton
导致该应用程序通过serial
发送消息。 GUI元素也经常更新。
问题:我不知道如何实现多线程。 没有多线程进程是否会导致应用程序在发送串行通信时响应性和一致性降低,特别是当GUI元素在发送串行消息的同时进行更新时?
那要看。 键入时,您的PC空闲时间为99.9995%; 因此它有大量的CPU功能可用于执行后台任务。 大多数人不会注意到这一点,因为病毒扫描程序通常会占用5-20%的性能。 但是,键入或单击按钮几乎不会注册CPU负载。
OTOH,如果您在UI线程中运行长任务,则UI会锁定,直到任务完成。 因此,从用户的角度来看,UI会阻塞,而对于串行端口来说,一切都会好起来的。 总体而言,这会更快,但会感觉很慢。
由于同步或锁定,多线程通常比在单个线程中执行所有操作都要慢。 但是单个线程无法扩展。 最终,您遇到了麻烦(明智的选择),没有任何技巧可以使单个线程执行得更快。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.