性能测试--1服务器监控--1.1进程与线程

进程与线程的定义

**进程:**进程是具有一定独立功能的程序,关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位.
举例:linux下运行top,top就是一个独立的进程,windos下运行qq,qq就是一个独立的进程
**线程:**线程是进程的一个实体,是cpu调度和分配的基本单位,他是比进程更小的能独立运行的基本单位,线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源.一个线程可以创建和撤销另一个线程.
**总结:**一个进程可以拥有多个线程,线程之间可以互相进行操作,线程不拥有资源,是进程进行声明和占有的.
在这里插入图片描述
进程与线程的区别:
1.进程可以拥有多个线程,而线程只能属于一个进程
2.线程是进程工作的最小的工作单位
3.一个进程会分配一个地址空间,进程与进程之间不共享地址空间.
4.同一个进程下的不同线程,共享父进程的地址空间
5.线程在执行过程中,需要写作同步.不同进程的线程间要利用消息通信的办法实现同步
6.线程作为调度和分配的基本单位,进程作为拥有资源的基本单位.(核心)

个人总结:
进程相当于仓库,线程相当于工人,每个仓库都有独立的地址和资源(工具),每个仓库可以有多个工人,而工人可以共用自己仓库里的资源.多个工人(多线程)工作的时候,消息应能互相同步.

进程与线程的优缺点

进程的优点:
1.每个进程互相独立,不影响主程序的稳定性,子进程崩溃不影响其他进程.(如word崩溃了不影响qq的运行)
2.通过增加cpu,就可以扩充性能
3.可以尽量减少线程加锁与解锁的影响,极大的提高了性能

进程的缺点:
1.逻辑控制复杂,需要和主程序交互.
2.多进程调度开销大

线程的优点:
1.逻辑和控制方式简单.
2.所有线程可以直接共享内存和变量等.
3.线程方式消耗的总资源比进程方式少.

线程的缺点:
1.每个线程与主程序共用地址空间,最大内存地址受限.
2.线程之间的同步和加锁不易控制.
3.一个线程的崩溃可能影响到整个程序的稳定性.

猜你喜欢

转载自blog.csdn.net/weixin_44934430/article/details/118681323