编写高性能的网络服务器的JavaScript工具包。 基于V8引擎的JavaScript运行环境。适合开发高并发,没有复杂业务逻辑的应用
(Java,php ------ NodeJS)(后端)------ JS+HTML+CSS(前端)
三层结构????MVC????
服务器比较
php 不支持多线程
apach 支持多线程 1对1
javascript 单线程
nodejs
单线程 高并发
异步 快 1对多 事件驱动 非阻塞I/O
进程:
1.正在运行的程序实例
2.进程(Process)是计算机中的程序关于某数据集合上的一次运行活动
,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体
;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。
1.进程是一个实体
2.进程是一个运行中的程序
动态性
:进程的实质是程序在多道程序系统中的一次执行过程,进程是动态产生,动态消亡的。
并发性
:任何进程都可以同其他进程一起并发执行
独立性
:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位;
异步性
:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进
结构特征
:进程由程序、数据和进程控制块三部分组成。
多个不同的进程可以包含相同的程序:一个程序在不同的数据集里就构成不同的进程,能得到不同的结果;但是执行过程中,程序不能发生改变。
线程:
线程,被称为轻量进程(Lightweight Process,LWP),是程序执行流的最小单元。
线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有就绪、阻塞和运行三种基本状态。就绪状态是指线程具备运行的所有条件,逻辑上可以运行,在等待处理机;运行状态是指线程占有处理机正在运行;阻塞状态是指线程在等待一个事件(如某个信号量),逻辑上不可执行。每一个程序都至少有一个线程,若程序只有一个线程,那就是程序本身。
进程 = 线程+线程
线程是程序中一个单一的顺序控制流程。进程内有一个相对独立的、可调度的执行单元,是系统独立调度和分派CPU的基本单位指令运行时的程序的调度单位。在单个程序中同时运行多个线程完成不同的工作,称为多线程
。
node和php的优缺点:
优点:
node 性能高,一般问题下,如果优化好,那就不一定了
开发效率高 省优化
应用范围广 可以开发桌面系统
缺点:
新,人少
中间件不完善
IDE不完善
高并发 大数量 如何解决。。。
运行机制
异步 事件驱动
C/C++,java:1,2,3,4,
node:1,2(4,5),3 (事件驱动,然后执行4,5)
express框架 sails框架
项目:sails+vue.js sails+react
网友评论