多线程
线程是cpu调度的最小单位,他被包含在进程之中,是进程中的实际运作单位。而多线程就是指从软件或者硬件上实现多个线程并发执行的技术,具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。
多进程
进程是资源分配的最小单位。是现今分时系统的基本运作单位。进程本身不会运行,是线程的容器,一个进程可以有很多线程,每条线程并行执行不同的任务。
区别
从数据共享,同步方面
多进程:数据是分开的:共享复杂,需要用IPC;同步简单
多线程:共享进程数据:共享简单;同步复杂
从内存、CPU方面
多进程:占用内存多,切换复杂,CPU利用率低
多线程:占用内存少,切换简单,CPU利用率高
从创建销毁、切换方面
多进程:创建销毁、切换复杂,速度慢
多线程:创建销毁、切换简单,速度快
从编程调试方面
多进程:编程简单,调试简单
多线程:编程复杂,调试复杂
从可靠性方面
多进程:进程间不会相互影响
多线程:一个线程挂掉将导致整个进程挂掉
从分布式方面
多进程:适应于多核、多机分布 ;如果一台机器不够,扩展到多台机器比较简单
多线程:适应于多核分布
版权归原作者 sxn777 所有, 如有侵权,请联系我们删除。