NodeJS中如何将同步方法转换为长尾词?

2026-04-09 00:180阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1273个文字,预计阅读时间需要6分钟。

NodeJS中如何将同步方法转换为长尾词?

Node.js被击中了单线程、非阻塞、事件驱动等标签。在单线程的情况下,无法开启子线程。经过长期的研发,我们发现并没thread函数!但有时,我们确实需要多线程。

NodeJS被打上了单线程、非阻塞、事件驱动…..等标签。

在单线程的情况下,是无法开启子线程的。经过了很久的研究,发现并没有thread函数!!!但是有时候,我们确实需要“多线程”处理事务。nodeJS有两个很基础的api:setTimeout和setInterval。这两个函数都能实现“异步”。

nodeJS的异步实现:nodeJS有一个任务队列,在使用setInterval函数的时候,会每隔特定的时间向该任务队列增加任务,从而实现“多任务”处理。但是,“特定的时间”不代表是具体的时间,也有可能是会大于我们设定的时间,也有可能小于。

我们跑跑下面代码块

setInterval(function() { console.log(new Date().getTime()); }, 1000);

输出的结果如下:

1490531390640
1490531391654
1490531392660
1490531393665
1490531394670
1490531395670
1490531396672
1490531397675
......

我们可以看到,所有的时间间隔都是不一样的。时间的偏移不仅包含了间隔的1s,还包含了console.log()的耗时,以及new Date()的耗时。在大量的数据统计下,时间间隔近似于1s。

阅读全文

本文共计1273个文字,预计阅读时间需要6分钟。

NodeJS中如何将同步方法转换为长尾词?

Node.js被击中了单线程、非阻塞、事件驱动等标签。在单线程的情况下,无法开启子线程。经过长期的研发,我们发现并没thread函数!但有时,我们确实需要多线程。

NodeJS被打上了单线程、非阻塞、事件驱动…..等标签。

在单线程的情况下,是无法开启子线程的。经过了很久的研究,发现并没有thread函数!!!但是有时候,我们确实需要“多线程”处理事务。nodeJS有两个很基础的api:setTimeout和setInterval。这两个函数都能实现“异步”。

nodeJS的异步实现:nodeJS有一个任务队列,在使用setInterval函数的时候,会每隔特定的时间向该任务队列增加任务,从而实现“多任务”处理。但是,“特定的时间”不代表是具体的时间,也有可能是会大于我们设定的时间,也有可能小于。

我们跑跑下面代码块

setInterval(function() { console.log(new Date().getTime()); }, 1000);

输出的结果如下:

1490531390640
1490531391654
1490531392660
1490531393665
1490531394670
1490531395670
1490531396672
1490531397675
......

我们可以看到,所有的时间间隔都是不一样的。时间的偏移不仅包含了间隔的1s,还包含了console.log()的耗时,以及new Date()的耗时。在大量的数据统计下,时间间隔近似于1s。

阅读全文