在“模型-视图”中,如果我在子线程中处理数据模型,会引起数据访问冲突吗?
我继承了一个QStandardItemModel类,在构造函数里加入如下代码:
m_thread = new QThread;
this->moveToThread(m_thread);
m_thread->start();
后面用信号-槽来做,外部接口通过发送信号来让这个类处理数据。
按理说,这个类里的操作只要是通过信号触发的,都是在一个线程里串行执行的。
结果在运行过程中会随机报错退出。
如果不在子线程中处理数据模型,就是说将上面几行注释掉,就不会报错。
很奇怪,啥原因呢?难道是绑定的视图类在主界面线程中引起数据访问冲突了?
版本:Qt 5.12.8