其实早在ajax时,异步io就已经存在啦asynchronous,
异步io:
你会发现呢,我之前接触过的高级语言貌似都是屏蔽了异步io,大家都是统一的调调,
大多数高级语言为同步阻塞,像js这样的异步非阻塞少见,因此js快,是吧
其他语言存在异步api,而我还是习惯用同步的方式,将异步作为编程主要方式的,node是首个
、、、、、、、、、、、、、、、、、、、、、、、。。。,,,,,,//。。、、、、、、、、、、、、、、、、、、、、
异步io--异步编程---异步编程解决方案---回调函数-----promise---async/await
node的工作方式
这句话说的很好,在node.js深入浅出中,提到,js线程像一个分配任务和处理结果的大管家,i/o线程池的各个io线程都是小二,负责完成分配来的任务,小二2和管家之间互不依赖,所以保持整体的高效率。
然而这种单主服务线程,多i/o处理线程的模型也有缺点, 如果管家承担任务过多,导致影响到任务调度,管家不停忙,小二没活干,则会导致整体效率很低!
node并发
记得我没有入职的时候,面试时领导对我说,知道并发吧,我当时答得是操作系统的并发,领导说实际高举语言的====的并发,领导说Java的并发和node的并发有很大的不一样,现在我差不多能理解到啦,
java的并发呢,是指多用户下并发访问
node的并发呢,是指i/o线程的并发啊