首页 > 编程知识 正文

qt线程同步又不阻塞线程,qt synchronized

时间:2023-05-04 15:19:25 阅读:162500 作者:214

调用背景:主线程制作的播放线程进行视频播放,停止时停止画面和设定的停止画面不一致。

相关介绍:quit () :可以安全地关闭线程。 其原理是将等同于exit(0) ) 0的return 0传递给事件循环。

wait ) ) :阻止线程。 exec )返回的0后,返回true,停止块。

exec ) ) :事件循环,在线程执行结束之后保持挂起状态而不丢弃,并且如果在接收到线程丢弃信号之后成功,则意味着return 0。

terminate(:中断当前时间片操作,直接终止线程。 (内存、锁等不会释放)

流程:主线程(main线程)中接收用户点击stop按钮的请求,向play线程发送quit )的信号。

play线程run ) )函数默认为exec ) ),当exec函数收到quit信号时,它将停止循环,并返回0。

在主线程的wait ()函数接收到return 0后,停止块并继续执行主线程。

图:

其他:关于qt5中的线程的其他理解。

在qt5中,new Qthread操作本质上不创建线程,而是创建具有线程执行操作的类。 如果创建多个线程,则主线程是这些线程的执行者,这些线程的创建就像规划者一样。 这些线程意味着允许主线程以一定的顺序执行这些线程的执行操作。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。