Qt学习
文章平均质量分 87
不吃鱼的猫748
这个作者很懒,什么都没留下…
展开
-
Qt学习-D-Pointer
d-point是Qt的一种代码设计模式,可以使库的实现细节可能对其用户隐藏,并且可以在不破坏二进制兼容性(Binary compatibility)的情况下对库进行实现更改。翻译 2023-05-13 22:40:17 · 333 阅读 · 0 评论 -
Qt学习-隐式共享(Implicit Sharing)
共享类由指向包含引用计数和数据的共享数据块的指针组成。创建共享对象时,它会将引用计数设置为 1。每当新对象引用共享数据时,引用计数就会增加,而当对象取消引用共享数据时,引用计数就会减少。当引用计数变为零时,共享数据将被删除。在处理共享对象时,有两种复制对象的方法。我们通常说深拷贝和浅拷贝。深拷贝意味着复制一个对象。浅拷贝是引用拷贝,即只是指向共享数据块的指针。就内存和 CPU 而言,进行深拷贝可能会很昂贵。制作浅拷贝非常快,因为它只涉及设置指针和增加引用计数。翻译 2023-05-13 22:33:37 · 219 阅读 · 0 评论 -
Qt学习-可重入和线程安全
原文地址一个线程安全的函数可以从多个线程被同时调用,即使调用使用共享数据也是如此,因为对共享数据的所有引用都是序列化的。可重入函数也可以从多个线程被同时调用,但前提是每次调用都使用自己的数据。因此,线程安全函数总是可重入的,但可重入函数并不总是线程安全的。通过扩展,。注意:如果 Qt 类打算由多个线程使用,则它们仅被记录为线程安全的。如果函数未标记为线程安全或可重入,则不应在不同线程中使用它。如果某个类未标记为线程安全或可重入,则不应从不同线程访问该类的特定实例。翻译 2023-05-13 22:32:09 · 212 阅读 · 0 评论 -
Qt学习-线程和QObjects
原文地址QThread 继承了QObject。它发出信号以指示线程开始或完成执行,并提供一些槽函数。更有趣的是,QObjects 可以在多个线程中使用,发出调用其他线程中的槽的信号,并将事件发布到“存在”在其他线程中的对象。这是可能的,因为允许每个线程有自己的事件循环。翻译 2023-05-13 22:30:18 · 136 阅读 · 0 评论