首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
libuv
订阅
用户2769597734954
更多收藏集
微信扫码分享
微信
新浪微博
QQ
17篇文章 · 0订阅
探索libuv(3) - 循环!循环!循环!
loop的整体初始化在上一章已经讲过,忘记的读者可以回顾上一章,这里不再浪费篇幅。 神奇的数据结构,它储存了一个loop的所有信息。并且可以被uv_default_loop来初始化得到。 实际上,这几个队列里都是储存了相对应的handle结构体。 在react里,它hack了r…
从libuv源码学习线程池
不像网络IO,libuv没有特定平台的异步IO原语可以依赖,所以当前是在线程池中执行阻塞(同步)IO来实现异步的。 根据libuv官网对其架构的介绍,我们可以知道它并不是单线程的,它有一个线程池,用来处理文件IO、DSN查询等操作。在介绍线程池之前,先通过POSIX Threa…
浅析libuv源码-node事件轮询解析(1)
好久没写东西了,忙得要死,前几天突然想起了脉脉上面一句话: 要时刻保持自己的竞争力。所以,继续开写! 一般的JavaScript源码看的已经没啥意思了,我也不会写什么xx入门新手教程,最终决定还是啃原来的硬骨头,从外层libuv => node => v8一步步实现原有的目标吧…
Libuv学习——文件处理
相信作为前端的我们或多或少都接触过Node,它以异步非阻塞IO模型闻名,特别擅长处理IO密集型任务。Node的异步操作是通过Libuv实现的,学习它能够能够帮助我们更好的理解Node,本文是Libuv学习系列的第4篇,讲解文件处理。 由于没有跨平台的异步文件处理API可以使用,…
Node.js 异步 api 的本质和 libuv
Node.js 是一个 Javascript 的运行时,提供了系统能力的 api,主要是文件、网络相关的 IO api,而 IO api 的实现是在 libuv,提供了同步异步两种形式的 api。 本
发一个modern cpp && libuv网络封装库
uv-cpp是一个基于libuv的C++封装网络库,基于本人实际项目需求开发并使用。接口较为简单易用,并对libuv一些特性做了扩展及优化。压测结果稳定、高效。暂未发现内存泄漏及崩溃等相关bug。 截至目前,C++没有标准网络库,常见的有ACE和boost.asio。ACE较为…
Libuv学习——线程池
通过前两篇文章的学习,我们已经解了Libuv中的队列和线程,为本文的学习打下基础,没有看过的同学建议先看下。下面将从生产者消费者模型和源码两个角度学习Libuv的线程池,为后面学习Libuv文件处理做铺垫。 Node.js的文件操作支持同步调用和异步调用,根据Libuv官网的介…
nodejs深入学习系列之v8基础篇
V8这个概念大家都不陌生了,那么你动手编译过V8源码吗?编译后有尝试去了解V8背后的一些概念吗?如果没有,那么也不用心慌,下文将跟大家一一解释这些东西。在编译V8之前我们先要了解一个东西-构建系统 写惯前端的童鞋可能不是很明白这个东西是干啥用的?但是其实平时你都会接触到,只是概…
如何正确地使用v8嵌入到我们的C++应用中
继翻译了[译文]V8学习的高级进阶之后,相信肯定有很多人看得云里雾里的,这个时候就需要这篇针对高级进阶的实战之作,来帮助大家融会贯通。 接下去高级进阶中提到的概念都可以在下面的三个小部分中体现出来。在讲述概念之前,我们依然会有一个v8-demo来帮助我们理解一些东西。 下载v8…
身为前端,你不得不懂的一些HTTP知识(附赠3道面试题)
在平时的开发中,出现listen EADDRINUSE: address already in use :::3000这种错误的频率很高,尤其在windows系统下,杀死个进程都杀不彻底。当遇到这种问题的时候,我们第一反应就是查看系统是哪个进程也在监听同样的端口。于是引出了我们…