线程与多线程(一)——线程概述

一、线程概述
       计算机的操作系统多采用彩任务和分时设计,多任务是指在一个操作系统中可以同时运行多个程序,例如,可以在使用qq聊天的同时听音乐,即有多个独立运行的任务,每个任务对应一个进程,每个进程又可产生多个线程。
1.1进程
       认识进程先从程序开始。程序(Program) 是对数据描述与操作的代码的集合,如Office中的Word,暴风影音等应用程序。
       进程(Proces) 是程序的一次动态执行过程, 它对应了从代码加载至执行完毕的一 个完整过程,这个过程也是进程本身从产生,发展至消亡的过程。操作系统同时管理一个计算机系统中的多个进程,让计算机系统中的多个进程轮流使用CPU资源,或者共享操作系统的其他资源。
       进程的特点是:
       》进程是系统运行程序的基本单位。
       》每一个进程都有自己独立的块内存空间、一组系统资源。
       》每一个进程的内部数据和状态都是完全独立的。

       当一个应用程序运行的时候会产生一个进程,如Windows任务管理器所示。
1.2线程
       线程是进程中执行运算的最小单位,一个进程在其执行过程中可以产生多个线程, 而线程必须在某个进程内执行。

线程是进程内部的一个执行单元,可完成一个独立的任务的顺序控制流程, 如果在一个进程中同时运行了多个线程,用来完成不同的工作,则称之为多线程。

       线程按处理级别可以分为核心级线程和用户级线程。
       1)核心级线程
       核心级线程是和系统任务相关的线程,它负责处理不同进程之间的多个线程。可按照同一相对优先调度方法对线程进行调度,使它们有条不紊地工作,充分利用计算机的软硬件资源。
       2) 用户级线程
       在开发程序时,由于程序的需要而编写的线程即用户级线程,  这些线程的创建、执行和消亡都是在编应用程序的时候进行控制的。对于用户级线程的切换, 通常发生在个应用程序的诸多线程之间,如迅雷中的多线程下载就是属于用户线程。
       多线程可以改善用户体验。具有多个线程的进程能更好地表达和解决现实世界的具体问题,多线程是计算机应用开发和程序设计的一项重要的实用技术。
       线程和进程既有联系又有区别,具体如下:
       》一个进程中至少要有一个线程。
       》资源分配给进程,同进程的所有线程共享该进程的所有资源。
       》处理机分配给线程,即真正在处理机上运行的是线程。

  1.3多线程的优势

      多线程有着广泛的应用,下载工具“迅雷”是一款典型的多线程应用程序,在这个下载工具中,可以同时执行多个下载任务。这样不但能够加快下载的速度,减少等待时间,而且还能够充分利用网络和系统资源。
       多线程的好处如下:
       》多线程程序可以带米更好的用户体验,避免因程序执行过慢而导致的计算机死机或者白屏的情况。
       》多线程程序可以很大限度地提高计算机系统的利用效率,如迅雷的多线程下载。

猜你喜欢

转载自blog.csdn.net/qq_32625839/article/details/80897558
今日推荐