在网络上查询libuv和EventLoop相关信息的时候,经常看到不同的文章所表达的意思差距较多,主要原因有二吧:
- 它们的
libuv和V8大版本不同,导致具体的实现略有差异
- 另外它们的代码错综复杂,又是大多数JavaScript工作者不擅长的C/C++,只是从上而下的看,或许一些细节无法完全理解或是认知的分歧
与其受他人影响,不如自己来好好梳理下。
版本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| #define UV_VERSION_MAJOR 1 #define UV_VERSION_MINOR 33 #define UV_VERSION_PATCH 1
#define V8_MAJOR_VERSION 7 #define V8_MINOR_VERSION 8 #define V8_BUILD_NUMBER 279 #define V8_PATCH_LEVEL 17
#define NODE_MAJOR_VERSION 14 #define NODE_MINOR_VERSION 0 #define NODE_PATCH_VERSION 0
|
没有列出具体版本号的代码分析都是耍流氓,2010年的代码和2020年的代码可能差距甚远,“上古”分析固然在当时是对的,但是在今日也许是错误的。
Read More