本文主要是介绍nodejs的线程模型和libuv库的基本使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- nodejs中集成addon本地代码的回调问题
- 单线程事件驱动模型
- libuv
- libuv基本框架
- addon中使用libuv代码
nodejs中集成addon本地代码的回调问题
在C++的代码中,回调函数是一个基本的代码调用方式。而在我自己的开发实践中,需要在addon这样一个nodejs的本地化模块中实现一个回调:
基本过程为:
- JS代码会调用一个C++的本地方法,注册一个函数指针到C++本地模块中。
- C++本地方法会调用设备,如平台移动,相机等。这个JS调用的C++本地方法为异步调用,也就是命令下发到设备后就会成功返回。
- 平台移动结束后,会通过第一步中注册的函数指针,调用指定的函数返回结果
- 相机为push模式,会根据相机帧率在固定时间段内返回图像到C++本地模块中,本地模块再通过第一步的函数指针回调到JS处,由JS在浏览器端进行渲染。
在这个过程中,碰到了不少的坑,比如libuv的事件队列阻塞,异
这篇关于nodejs的线程模型和libuv库的基本使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!