14.1.3 单线程与多线程
所谓的进程是指当前正在系统上运行的每一个程序。每个进程包含一到多个线程。进程是一个应用程序的实例,而线程则是进程的一个执行单元。所谓的执行单元就是一组CPU指令、寄存器或者堆栈,线程利用进程的资源,但它本身不拥有任何资源。当然线程也可以是一段程序指令,在高级语言中可以是完成某种功能的程序段或者函数。
对于多线程是为了使得多个线程并行地工作以完成多项任务,提高系统的效率。而单线程则是一个应用程序仅仅使用从始至终的一条程序执行线路。多个线程同时处理程序的好处有以下几点:
使用多线程可以把占据长时间的程序中的任务放到后台去处理。这样程序就可以不用为了等待某一处理而暂停任务的执行。
显示处理进度,例如用户单击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度。如果在单线程中,则进度条的显示就占据了整个程序进程。
程序的运行速度可能加快,利用多线程技术可以加快程序的执行效率。多线程的使用可以同时处理多个数据。
单线程和多线程的具体模型的分类如下:
1.单线程模型
在这种线程模型中,一个进程中只能有一个线程,也就是说整个应用程序完全按照线程的顺序运行。剩下的线程必须等待当前的线程执行完。这种模型的缺点在于系统完成一个很小的任务都必须占用很长的时间,同时如果进程中的某个线程段执行受阻,那么整个程序必须暂停执行。
2.多线程模型
多线程块模型是在每个进程里有多个线程,这样可以加快程序的运行速度。在一些程序中,例如端口扫描等,使用多线程模型可以明显地加快程序的执行速度。在多线程模型中,每一个应用程序都可以同时进行多个线程,即可以同时运行多个执行语句。
上面介绍了多任务、进程和线程的基本概念,可以看到线程是程序运行时可处理的基本单元,在后面将会介绍多线程的应用。
【责任编辑:
云霞 TEL:(010)68476606】