阻塞等待队列的线程
Blocking thread for wait queue
我有 2 个线程的应用程序。在第一个(主)线程中,我想生成一些消息并将其发送到第二个线程。有没有办法阻止等待传入消息的线程(如嵌入式操作系统(FreeRTOS、TNKernel 等)中的队列)?
while (true) {
waitQueue(TIMEOUT_INFINITY);
}
在waitQueue(TIMEOUT_INFINITY);
当前线程被阻塞时,在主线程中生成一些消息waitQueue
释放线程。
在Qt中执行此操作的自然方法是在线程中调用QThread::exec()
(这是QThread::run()
的默认实现所做的)。
之后,要在该线程中执行QObject
实例(工作器对象)的插槽,您可以使用 QObject::moveToThread()
设置实例与新线程的关联,然后当发出连接到该实例中某个插槽的信号时,将在新线程中调用该插槽。
请参阅 QThread 类、QObject实例化 QThread 提供了一个并行事件循环,允许在辅助线程中调用 QObject 插槽。对 QThread 进行子类化允许应用程序在启动其事件循环之前初始化新线程,或者在没有事件循环的情况下运行并行代码。
类、线程和 QObject,以及 Qt 事件循环。
希望这有帮助。。。
相关文章:
- 为什么我的多线程作业队列崩溃
- 一个线程等待多个线程事件
- 线程安全队列 c++
- C++11如何在1个线程中使用条件变量处理2个线程安全队列
- 如何做 gtkmm 线程安全队列绘制?
- 如何让线程等待对象完全破坏?(对象也有一个线程)?
- 线程安全队列出现分段错误
- 一个好的线程池队列大小
- 另一个线程安全队列实现
- 生产者/使用者,如何确保在关闭所有使用者之前耗尽线程安全队列
- C++中的线程安全队列
- 停止C++ 11 个 std::线程等待 std::condition_variable
- 从内存转储中查找线程消息队列中的消息
- 具有固定大小的线程安全队列
- C++线程:等待condition_variable后无法解锁阵列中的互斥锁
- Qt 线程等待来自 GUI 的输入
- C++11线程等待
- 使用本机windows API实现win32线程安全队列
- 如何让线程等待对象的销毁
- WaitForSingleObject - 将等待的线程从队列中解脱出来