首页 新闻 会员 周边 捐助

C++ nodejs 线程通信 异步

0
悬赏园豆:100 [待解决问题]

语言:C++

问题场景:nodejs调用C++接口,A线程为nodejs调用C++的线程,然后B线程是IO线程,B线程是异步调用,在B线程中回调函数中可以得到所返回的数据。

我把一个nodejs函数指针作为参数传给A,这个回调函数必须在A线程中执行,而且回调函数执行必须等到B线程有返回的数据才可以,而且A线程不能阻塞,否则界面操作无法响应。也就是说,C++代码立即返回到js。

尝试方法:

之前尝试了libuv,是成功了的,通过libuv,完成异步,C++代码立即返回到js,然后阻塞libuv的子线程得到B线程返回的数据,之后数据返回,便会重新进入到libuv的主线程也就是A线程执行回调。

但是目前用libuv开设一个子线程仅仅是充当一个阻塞作用,阻塞之后发送通知让主线程工作,过于复杂,想问问各位大佬有没有更为简单的方法处理这个场景。或者说单纯的用C++实现异步消息通知这些内容解决这个场景,其实就是简化一下,把我的IO线程作为工作线程,IO线程结束之后能够回到主线程执行回调,拜谢!!

或者说有没有一种消息通知机制,在B线程中触发消息通知,然后A线程执行消息对应的函数

那个,小弟我刚刚入园还没有园豆,万望见谅!!!

andumen的主页 andumen | 初学一级 | 园豆:102
提问于:2018-08-18 14:36
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册