问一个QT的model/view 问题
GUI在一个线程,另外有个线程做通讯,两个线程都要修改GUI的model。 为了同步,我想到几个方法:1. 通讯线程将修改signal到主GUI线程,由主线程修改,model在主线程中。
2. 在QAbstractitemModel子类中的insert/Delete/RemoveRows()中加mutex, 然后两个线程各自修改,model在主线程,次线程就是修改主线程中的 model。
3. 只用一个GUI线程,network也在一起。
请问一下coredump,该用哪个,或者有更好的方法呢? 谢谢。
[ 本帖最后由 GPS 于 15-10-2010 16:45 编辑 ] 菜鸟进来围观技术贴。
就俺的认知能力来看,最好是在一个线程里修改。mutex看着挺炫,能不用就不用。 I choose option 3.only use worker thread until you have to.
Then choose option 1.
Choose option 2 only when option 1 & 3 won't work for your case. 多谢多谢。
因为在Qt里,利用signal-slot,多线程变得很容易了,导致老是想趋向于把不同的工作放在不同线程,结果反而是增加复杂度了。
多谢楼上两位。
页:
[1]