我在 ReadWrite
模式下使用 QBuffer。一个 worker QThread
将数据推送到缓冲区中,另一个 QThread
从中读取数据。QBuffer
是否保证线程安全,还是我需要从 QBuffer
派生并添加互斥锁?
最佳答案
引用 Mark Summerfield 的书 C++ GUI Programming with Qt 4:
Qt 期望您将围绕它的大多数类使用锁定机制。如果它们是,文档会说“所有函数都是线程安全的”,并且各个函数也将指定“是线程安全的”。
因为 QBuffer
是 QIODevice
的直接子类,我特别希望它不是线程安全的,但是有一些容器类对于读取访问是线程安全的,但需要锁定写入访问:
关于c++ - Qt 的 QBuffer 线程安全吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13865232/