线程与进程,多进程与单进程,多线程与单线程

进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位
线程(英语:thread)是操作系统能够进行运算调度的最小单位

线程与进程

服务器资源(CPU内存统一)比作是一个物流快递中心,那么这个物流中心的运转能力取决于内部流水线的数量,将快递包裹看作数据(Data),那么流水线(履带式分拣机)看做进程,每个工人的处理各自包裹的过程看做线程

单进程和多进程

单线程还是多线程完全取决于服务器资源的大小,房间越大则能容纳的流水线的数量越多,相应的数据处理能力越强大,在解决了进程间通信与健壮性前提下,多进程是肯定优于单进程的。但是如果进程过多,或者多个进程峰值占用资源过大,那么服务器资源就会很不稳定,导致内存溢出,cpu超负荷等问题。

多线程与单线程

单线程在程序执行时,所走的程序路径按照连续顺序排下来,前面的必须处理好,后面的才会执行。
多线程指一个程序可以在另一个程序等待时间使用进程处理自己的问题

单线程好比一个流水线上只有一个工人,那么他处理包裹比较慢、资源浪费,但是出现问题的几率也小,异常追踪快。
多线程就是多个工人使用一个流水线,虽然整体而言处理包裹能力强、资源不浪费,但是会涉及到处理优先级、异常追责、工人之间也会发生摩擦、甚至一些莫名其妙的问题,很显然,线程并不是越多越好。
要避免单进程单线程,也要避免多进程多(过量)线程,更要避免少进程多线程,应该选择多进程少(适量)线程

你可能感兴趣的:(线程与进程,多进程与单进程,多线程与单线程)