nodejs、electron 扩展开发笔记、异步回调的坑

作者: admin 日期: 2016-07-05 22:38:21 人气: - 评论: 0

按照nodejs官网的demo编写了一个c++扩展用,发现扩展在工作的时候js代码都是处于阻塞状态的。


想到了新创建一个线程执行工作任务,工作线程执行完毕后再去回调js函数。写完之后发现,工作线程一回调js函数整个应用就会闪退,原来js函数只能在一个线程中调用。


  • 转换思路,工作线程工作完毕之后通知主线程调用js的回调函数,结合以前Windows开发的经验想到了PostThreadMessage 和 SetSetWindowsHookEx,工作线程执行好任务之后给主线程发送个消息,主线程用SetSetWindowsHookEx拦截消息之后回调目标函数,折腾了几个小时没有成功,不过思路应该是没错的。

  • 又百度了下发现v8头文件已经封装了一个uv_queue_work来进行多线程异步操作:

uv_queue_work(uv_default_loop(),new uv_work_t(),【工作线程】,【主线程回调】);




相关内容

发表评论
更多 网友评论0 条评论)
暂无评论

Copyright © 2012-2014 我的代码板 Inc. 保留所有权利。

页面耗时0.0281秒, 内存占用1.82 MB, 访问数据库13次

闽ICP备15009223号-1