前言
本文我们将会介绍 JavaScript 实现异步的原理,并且了解了在浏览器和 Node.js 中 Event Loop 其实是不相同的。
一、线程与进程
1. 概念
我们经常说 JavaScript 是单线程执行的,指的是一个进程里只有一个主线程,那到底什么是线程?什么是进程?
官方的说法是:进程是 CPU 资源分配的最小单位;线程是 CPU 调度的最小单位。这两句话并不好理解,我们先来看张图。
- 进程好比图中的工厂,有单独的专属自己的工厂资源。
- 线程好比图中的工人,多个工人在一个工厂中协作工作,工厂与工人是 1:n 的关系。也就是说一个进程由一个或多个线程组成,线程是一个进程中代码的不同执行路线。
- 工厂的空间是工人们共享的,这象征一个进程的内存空间是共享的,每个线程都可用这些共享内存。
- 多个工厂之间独立存在。
"浏览器与 Node.js 的事件循环(Event Loop)有何区别?[转]"继续阅读
安装 NodeJS
yum install nodejs -y
node -v
安装 pm2
npm install pm2 -g
ln -s /home/download/node-v8.11.1-linux-x64/lib/node_modules/pm2/bin/pm2 /usr/local/bin/pm2
"用 Nginx 反向代理 Node.js"继续阅读
nodejs
apt-get install curl
curl -sL https://deb.nodesource.com/setup | bash -
apt-get install -y nodejs
"Debian7.8 通过 apt-get 安装 nodejs npm[转]"继续阅读
解决了在 Debian 和 Ubuntu 系统中,使用 apt-get 安装 Node.js 遇到的问题。默认安装的 Node.js 不是真正的 Node.js,npm 也有问题,提供了详细的命令行解决方案,帮助用户顺利安装 Node.js。