十三陵水库钓鱼地点:Qt多线程编程注意事项
来源:百度文库 编辑:偶看新闻 时间:2024/04/28 17:56:14
告诫
当进行线程编程时,需要注意的一些事情:
- 当使用Qt库互斥量的时候不要做任何阻塞操作。这将会冻结事件循环。
- 确认你锁定一个递归QMutex的次数和解锁的次数一样,不能多也不能少。
- 在调用除了Qt容器和工具类的任何东西之前锁定Qt应用程序互斥量。
- 谨防隐含地共享类,你应该避免在线程之间使用操作符=()来复制它们。这将会在Qt的未来主要的或次要的发行版本中进行改进。
- 谨防那些没有被设计为线程安全的Qt类,例如,QPtrList的应用程序接口就不是线程安全的并且如果不同的线程需要遍历一个QPtrList,它们应该在调用QPtrList::first()之前锁定并且在到达终点之后解锁,而不是在QPtrList::next()的前后进行锁定和解锁。
- 确认只在GUI线程中创建的继承和使用了QWidget、QTimer和QSocketNotifier的对象。在一些平台上,在某个不是GUI线程的线程中创建这样的对象将永远不会接受到底层窗口系统的事件。
- 和上面很相似,只在GUI线程中使用QNetwork类。一个经常被问到的问题是一个QSocket是否可以在多线程中使用。这不是必须得,因为所有的QNetwork类都是异步的。
- 不要在不是GUI线程的线程中试图调用processEvents()函数。这也包括QDialog::exec()、QPopupMenu::exec()、QApplication::processEvents()和其它一些。
- 在你的应用程序中,不要把普通的Qt库和支持线程的Qt库混合使用。这也就是说如果你的程序使用了支持线程的Qt库,你就不应该连接普通的Qt库、动态的载入普通Qt库或者动态地连接其它依赖普通Qt库的库或者插件。在一些系统上,这样做会导致Qt库中使用的静态数据变得不可靠了。
谁知道多线程编程??
JSP编程用到多线程的时候多吗
c#编程(多线程)问题(看情况加20-40分)
QT是什么?
qt. 是什么意思??
注意事项?
什么是多线程
多线程问题
多线程运行
QT的问题
QT总是下载不了~`~~!~!~!~!~
QT 间期是怎么回事?
关于qt opengl
QT是什么意思啊?
机器编号QT
怎么用QT外挂?
做编程,有人建议我放弃XP系用,改用2003。求装机注意事项。
新手学编程,高手路过的建议几个注意事项或成材之路,感激不尽!!!!
新手学编程,高手路过的建议几个注意事项或成材之路,感激不尽!!!!
15MnCuCr-QT牌号中QT的含义是什么?
linux下使用Qt时,启动Qt没有新建工程
如果在低端设备编程(如文曲星上的LAVA)它提供的内存有限不支持多线程 高手请帮帮我呀
MOV,QT是什么播放格式?
请问,有关QT的问题