![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Qt
文章平均质量分 67
一个小呀小可爱
搞对象不...
展开
-
Qt 槽函数重载时通过函数指针绑定
【代码】Qt 槽函数重载时通过函数指针绑定。原创 2024-06-14 00:08:27 · 387 阅读 · 0 评论 -
Qt多线程之moveToThread()函数
在使用“继承QObject+QThread”实现多线程时,出现了一个BUG,最后发现是对moveToThread()函数理解不到位导致的。为了弄清楚这个问题最好将Demo代码拷贝,跟着跑一遍。原创 2024-06-13 22:42:37 · 878 阅读 · 0 评论 -
Qt的四种多线程的简单代码
QThread的子类只有当调用start()方法时,run()函数是在子线程运行的;调用start()后会在子线程执行重写的run()函数,run()函数执行完毕后,线程自动销毁。调用QThread的start()后,子线程会一直处于running状态,当有槽函数接收到信号后,就会放到run()函数中执行,执行完毕后子线程不会自动销毁。2、由于没有继承QObject,QRunnable子类无法直接使用信号绑定槽函数的方式进行进程同步;QtConcurrent::run()是Qt调用多线程最简单的一种方式。原创 2024-05-22 16:39:37 · 177 阅读 · 0 评论 -
QT的互斥量和信号量
1、互斥锁(mutex) 是最常用的锁,它可以保护共享资源,使得在某个时刻只有一个线程或进程可以访问它。自旋锁(spinlock)可以用来保护共享资源,使得在某个时刻只有一个线程或进程可以访问它,但它会使线程或进程“自旋”,直到获得锁为止。当一个线程需要访问共享资源时,它首先必须获取信号量,这会将信号量的计数器减少1,而当它完成访问共享资源后,它必须释放信号量,以便其他线程也可以访问共享资源。当一个线程需要写入共享资源时,可以获取写入锁,这样其他线程就不能访问该资源,从而保证数据的完整性和一致性。原创 2024-05-21 15:51:39 · 1157 阅读 · 0 评论