Qt threading fundamentals
发布时间
阅读量:
阅读量
什么是线程?
在技术领域中完成某项功能的方式被称为线程,并发行为其本质特征。那么,在这种情况下,“进程”与“线程”之间有何区别呢?考虑一下您在日常使用的场景:当您使用电子表格进行数据运算时,在同一台电脑上可能会有另一个媒体播放器运行着您的音乐选择列表。这两个并行工作的例子分别是:一个是运行电子表格程序;另一个经营着媒体播放器。多任务处理是一个广为人知的技术术语。通过细致观察媒体播放器的操作流程可以看出,在同一个进程中有一些事件是同时发生的:当它将音乐发送给音频驱动程序时,“铃声和哨声”的更新也在同步进行。这就是线程发挥核心作用的地方。
那么并发性是如何实现的呢?在单核cpu上并行工作是一种错觉,有点类似于电影中移动图像的错觉。对于进程,这种错觉是通过在很短的时间后中断处理器在一个进程上的工作而产生的。然后处理器转到下一道工序。为了在进程之间切换,保存当前的程序计数器并加载下一个处理器的程序计数器。这是不够的,因为同样需要对寄存器、某些体系结构和操作系统特定的数据进行处理。
正如现代处理器能够支持多个任务并行执行一样,在单核处理器中也同样可以让其运行多个不同代码段以实现多任务处理功能。一旦某个进程中启动后,则会先执行一段特定的代码从而形成一条主线程。然而,在这种情况下系统可能会根据某种机制决定启动第二条子线程(副线程)。随后,在同一个进程中就能够同时处理两条不同的指令流
全部评论 (0)
还没有任何评论哟~
