bob体育官方平台
bob体育官方平台详解node单线程实现高并发原理与node异步I/O_node.js_脚本之家

本文实例讲述了nodejs实现发出蜂鸣声音的方法。分享给大家供大家参考,具体如下:

一、node单线程实现高并发原理

nodejs 有时候需要发出报警声音,使用以下代码可以调用系统蜂鸣器发声

众所周知nodejs是单线程且支持高并发的脚本语言。可为什么单线程的nodejs可以支持高并发呢?很多人都不明白其原理,下面我来谈谈我的理解:

process.stdout.write

1. node的优点:I/O密集型处理是node的强项,因为node的I/O请求都是异步的(如:sql查询请求、文件流操作操作请求、http请求...)

另外附上我自己的番茄工作法 nodejs 实际上就是一个25分钟的倒计时,然后发出蜂鸣声

异步:发出操作指令,然后就可以去做别的事情了,所有操作完成后再执行回调

var FANQIE_TIME = 25;function beep(){for{process.stdout.write}}var startTime = new Date(); var needTime =startTime.setMinutes(startTime.getMinutes;function showTime(){var now = new Date();var totalSecond = Math.floor/1000)if{beep{clearInterval;}return;}var mm =Math.floor;var ss = Math.floor;console.log;}var interVal = setInterval;
// 第一步:定义变量let a = 1;// 第二步:发出指令,然后把回调函数加入异步队列setTimeout => { console.log// 第三步:赋值,回调函数没有执行a = 2;// 第四步:发出指令,然后把回调函数加入异步队列setTimeout => { console.log// 第五步:赋值,回调函数没有执行a = 3;// 当所有代码执行完毕,cpu空闲下来了,就会开始执行异步队列里面的回调函数// 所以最后控制台输出:3 3

希望本文所述对大家nodejs程序设计有所帮助。

b. 什么是异步I/O?

异步I/O顾名思义就是异步的发出I/O请求

c. 虽然nodejs可以异步的发出I/O请求,但nodejs不支持多线程,为啥就可以支持高并发呢?

因为nodejs的I/O操作,底层是开启了多线程的

当同时有多个IO请求时,主线程会创建多个eio线程,以提高IO请求的处理速度

d. 虽然nodejs的I/O操作开启了多线程,但是所有线程都是基于主线程开启的只能跑在一个进程当中还是不能充分利用cpu资源

返回顶部