程序
认识进程先从程序开始,程序是对数据描述鱼操作的代码的集合,如QQ,Office中的Word等应用程序.
进程
进程是程序的一次动态执行过程,他对应了从程序加载、执行至执行完毕的一个完整过程,这个过程是进程本身从产生、发展至消亡的过程。操作系统同时管理一个计算机系统中的多个进程,让计算机系统中的多个进程轮流使用CPU资源,或者共享操作系统的其他资源。
进程的特点是:
-
进程是系统运行程序的基本单位。
-
每一个进程都有自己独立的一块内存空间、一组系统资源。
-
每一个进程的内部数据和状态都是完全独立的
在操作系统中可以有多个进程这些进程包括系统进程(由操作系统内部建立的进程)和用户进程用户程序建立的进程)可以从 Windows任务管理器中查看已启动的进程。
线程
线程是进程中执行运算的最小单位,可完成一个独立的顺序控制流程,每个进程中,必须至少建立一个线程(这个线程称为主线程)米作为这个程序运行的人口点,如果在一个进程中同时运行了多个线程用来完成不同的工作,则称之为多线程,在操作系统将进程分成多个线程后实上每个任务是一个线程多个线程共享相同的地址空间并且共同分享同一个进程这些线程可以在时执行,但实际上并非如此由于单CPU的计算机中CP同时只能执行一条指令,因此在仅有操作系统的管理下并发执行从而大大提高了程序的运行效率,虽然线程的执行看似是多个线程同个CPU的计算机上不可能同时执行多个任务。而操作系统为了能提高程序的运行效率将CPU的执行时间分成多个时间片,分配给不同的线程,当一个时间片执行完毕后该线程就可能让出使用权限交付给下一个时间片的其他线程执行。当然有可能相邻的时间片分配给同一线程之所以表面上看是多个线程同时执行,是因为不同线程之间切换的时间非常短也许仅仅是几毫秒对普通人来说是难以感知的,这样就看似多个线程在同时执行了。
多线程的好处
多线程作为一种多任务并发的工作方式,有着广泛的应用理使用线程将减少开和的本甚至可以改善复杂应用程序的性能,使用多线的优如下
1.充分利用CU的资源执行程程序,若程序发生阻可能处于空这将造成计算机资源费而使用多线程可以在某个线程你状态的运行其他线程这样大大高了源利用率。
2.简化编程模型:一个即长又复杂的进程以考虑分为多个线程成为几个独立的运行部分,如使用时,分,秒来述当前时间如是写三单程程序可能需要多重环断而如果使用多统程时,分,秒各使用一个线程每个域程仅实现简单的流程简化了程序逻辑这样更有助开发人员对程序的理解维护。
3.带来良好的用户体验:由于多个线程可以交替执行,减少或免了程序塞意外情造成的响应过现象,降了用等待的机率。