qt自学笔记(十)

来源:互联网 发布:软件测试自学视频教程 编辑:程序博客网 时间:2024/05/29 04:49

前言:距离上一次学习qt已经有10天了,中间中断了学习,必须在心里批评一下自己。还是要坚持下来。这一节我们不写代码,主要理解qt中多线程的概念,方便以后的学习


多线程的由来

专业的解释你可以上百度去查,很难受,看不懂。我说说我的理解吧。先说说我们以前写过的c语言的控制台程序,就是在一个大的while循环中不断去获取用户的输入然后执行相关的操作。但是,有一个问题就是,当我们在获取了一个输入后执行一个操作,这个操作需要很长的时间,此时获取下一个输入的操作就会一直不能被执行,因为当前被卡住了。此时程序就会卡主,给用户一种卡死的感觉。

在ui下也是一样,比如点击一个按钮后去执行一个槽函数,但是这个槽函数执行时间太长,此时该ui界面就会卡死,你不能点击其他的按钮并且也不能拖动按钮,what is worse,此时鼠标会转圈圈,然后提醒你程序没有响应。

所以,这时候就需要一个技术来防止这种现象,这就是多线程。通俗点就是使用线程可以把占据时间长的程序中的任务放到后台去处理,ui界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度。。。。


说起线程,以前小时候就和小伙伴开过一个玩笑,那就是你能想到的最烂的电脑。当时我们有个回答就是,128k的运存,单线程的处理器。0.0