Qt文档和可重入性
Qt documentation and reentrancy
Qt文档说明了线程安全和可重入性:
注意:Qt类只有在被多个线程使用时才被记录为线程安全。如果一个函数没有被标记为线程安全或可重入,则不应该在不同的线程中使用它。如果一个类没有被标记为线程安全或可重入,则不应该从不同的线程访问该类的特定实例。
这似乎表明Qt中的每个函数和类都应该被认为是不可重入的和非线程安全的,除非明确地这样声明。
然而,在QRect
和QPoint
的文档中,例如,既没有提到线程安全性也没有提到可重入性,但我很难相信它们没有。事实上,这个旧的讨论说这是文档中的"缺失":
那么,我们如何知道一个函数是否可重入呢?重入说明是否仅在简单类中被省略,因为它的明显性暗示了它?这些类只是普通数据(一些原语),没有共享的结构化或静态数据,因此它们是可重入的。在我们的文档中,它们没有这样标记,这是一个缺陷。
我认为这个问题的唯一安全答案是查看源代码。显然Qt文档是不够的。对于每个未记录的可重入类,应该将bug归档到Qt中。
根据Qt的可重入性定义,有两个标准来确定一个Qt类是否可重入:
- 没有静态数据
- 只调用可重入的函数和其他可重入类的方法。
访问单例类会违反2.
相关文章:
- 正在查找文档以获得PS4平台的C++中的设备信息
- 如何在文档文件夹中创建目录
- 当Microsoft文档仅包含 C# 示例时,如何查找 C++ 包含文件名
- 文档在哪里说明如果参数不是从末端删除参数,则无法从QT信号插槽连接中删除参数?
- 文档使用QaxWidget在QT内完成信号
- 离线 Qt 文档
- 关于在模型/视图Qt文档中排序的描述可能是错误的
- 有没有办法在qt创建器中启用qt快速/ qml文档/帮助
- Qt ActiveX检索word文档中的页数
- Qt Creator 5.3在理解帮助文档方面需要帮助
- Qt Q应用程序:commitData,Windows关闭,令人困惑的文档
- 如何编辑结束的XML文档结束在Qt (writeEndDocument)
- Qt创建MDI文档窗口
- QRubberBand,如何选择物品??QT文档一点帮助都没有
- 这里是Qt文档中类的分组列表
- Qt/pyQt/PySide -创建文档模板打印
- Qt MOC生成的代码文档
- 我正在尝试使用官方Qt 4.8文档中的QTabBar::p ane样式表
- Qt文档和可重入性
- 什么是工具类?(术语来自Qt文档)