【发布时间】:2021-03-12 14:00:43
【问题描述】:
如何运行两个不同的while 循环而不破坏一个?
程序通过while 循环从 PLC(可编程逻辑控制器)收集两个不同的值。
而且这个收集应该在同时,但是当我尝试运行两个循环时,它们会中断......第一个循环只是停止返回任何值,而第二个循环是正在运行。
【问题讨论】:
-
使用多线程......
-
没有什么应该阻塞 gui 线程。睡眠是一个很大的禁忌,使用 QTimer 来轮询任务。繁重的处理必须在单独的线程中完成,或者您应该将其分成小块并推迟到以后。如果您想推迟任务,QTimer 可能会占用零时间。
-
关于多线程@eyllanesc,我已经“创建”了一个QThread,所以理论上MainProgram运行到MainThread,无限循环运行在辅助QThread...
-
关于 QTimer @doron,是的,我完全同意你的看法,但即使阅读文档我也无法理解如何使用 QTimer...
-
请注意,您的问题目前因缺少调试细节而被关闭。如果您可以制作示例以便任何人都可以复制它们,那么您的 HowTo Question 可能会得到更好的回答。
标签: c++ windows qt loops qthread