谈谈进程和线程的联系与区别

什么是进程?

举个栗子,如下图:打开任务管理器
在这里插入图片描述
进程负责为程序的运行提供必备的环境。

进程就相当于工厂中的车间一样。

什么是线程?

线程是计算机中的最小计算单位,线程负责执行进程中的程序。

线程就想当于工厂中的工人。

单线程

  • 一个线程(一个人干活)

多线程

  • 多个线程(多个人干一个活)

单线程好还是多线程好?

大家都知道是多线程更好,速度更快,大家一起干活效率更高。但是单线程和多线程之间也没有绝对的好坏,主流还是多线程比较好。

但我们的js、浏览器都是单线程的,理论上一个线程负责渲染页面,一个线程负责执行js代码,会发现一个问题:当一个线程在渲染页面时,另一个在改css样式,这时候页面就不知道该听谁的,所以js都是单线程的,只要在执行js代码时,网页都是静止的,停止渲染,在执行完之后才进行页面渲染。

传统的服务器都是多线程的。 这意味着每次进来一个请求,就创建一个线程去处理请求。

Node的服务器是单线程的。 Node处理请求时是单线程的,但是在后台拥有一个I/O线程池。

猜你喜欢

转载自blog.csdn.net/weixin_42224055/article/details/106673176