gpt4 book ai didi

c++ - QAbstractItemModel 子类线程安全吗?

转载 作者:行者123 更新时间:2023-11-28 01:52:53 29 4
gpt4 key购买 nike

你好来自 SO 的好人!

今天我一直在问自己很多关于我试图实现的事情。

说到这里,我正在尝试使用 Qt 编写某种终端代码,它将用于显示来 self 的应用程序不同部分的消息。

现在我实现了一个模型类(派生自 QAbstractTableModel),代表这些消息行的 QList 并打算将它们映射到我的终端窗口中的小部件(考虑了 DataWidgetMapper)。

但后来我突然想到,如果我的应用程序的不同部分试图同时添加新消息怎么办?
它甚至可能发生吗?
实现 BeginInsertRow 是否与安全保护这些事情有关?


长话短说,我很困惑。我自己找不到太多情报。所以我开始怀疑我是否以正确的方式这样做。

我是 Qt 世界的新人。

提前致谢:)

最佳答案

由于您是在QAbstractItemModel 之上实现您自己的模型,因此它是否是线程安全的取决于您。您必须设计自己的内部数据模型,因此在模型内更改和访问数据的方法是您自己的。您可以完全控制它们的内容,因此您可以添加任何您需要的线程锁定机制,以确保不同的线程不能同时更新和访问数据。所有提供数据访问的 QAbstractItemModel 方法最终都会调用您的派生方法。

关于c++ - QAbstractItemModel 子类线程安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42280360/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com