【发布时间】:2011-01-21 08:04:21
【问题描述】:
我没有在我的代码中调用exec(),但timer 和QUdpSocket 工作正常。 exec() 是否用于等待 event 继续?
更新:timer 正在工作,因为我没有在QThread 上调用moveToThread(this),这意味着QThread 实际上仍然是main thread 的一部分。至于QUdpSocket,我使用轮询functions。所以它不需要使用signals。
提示:如果您需要做init 的事情,这需要在您的QThread 中添加一个event loop,您可以delay 调用moveToThread,直到您不再需要signals,即程序加载时实用。您也不需要在构造函数中调用它(例如,您可以在 run() 中调用它),只需将 this QThread 指针复制到一个变量并使用指针将 call 稍后/其他地方。
【问题讨论】:
标签: multithreading qt qthread