HarmonyOS Native Module 接口的多线程调用问题
按照官方Native C++ Module示例,在cpp/types目录的Index.d.ts文件声明函数,在.cpp源实现函数,对此有两个疑问:
1.import编译好的so,在ts侧中调用add函数时,会进入native侧的实现Add函数中,在native侧的Add函数中通过napi_get_cb_info这个调用可以获取到JS的对象指针,请问,如果在不同线程,不同ts文件中调用add函数时,最终native侧获取到的JS对象指针是否为同一个?即多线程场景下调用模块内函数的表现是怎样的?
2.在官方示例中展示了[Native与ArkTS对象绑定]:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/use-napi-object-wrap-0000001813416132,native项目是纯c实现的,无法切换到c语言,即无法使用C Class,是否有其他方案可以实现 [Native与ArkTS对象绑定] 这样的功能?
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS napi_env 调用Native, Native 内启用多线程,但是env不支持多线程访问, 怎么处理?
699浏览 • 1回复 待解决
HarmonyOS Native C函数中有多线程交互,用napi调用会闪退
506浏览 • 1回复 待解决
HarmonyOS关于多线程的问题
818浏览 • 1回复 待解决
HarmonyOS 多线程并发相关问题
564浏览 • 1回复 待解决
HarmonyOS 多线程数据互通问题
341浏览 • 2回复 待解决
HarmonyOS 多线程锁问题
876浏览 • 1回复 待解决
多线程调用 OH_Drawing_CreateFontCollection 崩溃
1319浏览 • 1回复 待解决
HarmonyOS 多线程安全问题验证
486浏览 • 1回复 待解决
HarmonyOS业务场景相关多线程的应用问题
907浏览 • 1回复 待解决
HarmonyOS中的多线程和Android的多线程有何区别?
404浏览 • 0回复 待解决
HarmonyOS 多线程传递不可sendable对象问题
468浏览 • 1回复 待解决
HarmonyOS ArkTS调用Native接口机制咨询
792浏览 • 1回复 待解决
HarmonyOS 关于native子线程问题
195浏览 • 1回复 待解决
HarmonyOS native子线程请求网络同步的问题
210浏览 • 1回复 待解决
HarmonyOS 多线程写法限制
445浏览 • 1回复 待解决
HarmonyOS 关于多线程并发的使用
433浏览 • 1回复 待解决
#鸿蒙通关秘籍#为什么在HarmonyOS Native侧使用多线程执行任务?
632浏览 • 1回复 待解决
HarmonyOS多线程使用?
425浏览 • 0回复 待解决
HarmonyOS 多线程共享数据方法的疑惑
475浏览 • 2回复 待解决
#鸿蒙通关秘籍#鸿蒙应用中如何使用UI主线程调用多线程方法?
526浏览 • 1回复 待解决
ArkTs多线程方案如何保证线程安全
2963浏览 • 2回复 待解决
#鸿蒙通关秘籍#如何利用Native线程安全函数实现鸿蒙跨线程调用?
528浏览 • 1回复 待解决
HarmonyOS 有关多线程的资料文档
391浏览 • 1回复 待解决
HarmonyOS是否支持多线程?
407浏览 • 0回复 待解决
问题1:首先js的对象是不允许跨线程使用的。如果在同线程,不同ts文件中调用native函数时,每次传入的napi_callback_info都是重新创建出来的,主要还是看js传入的逻辑,如果JS一个变量在两处传,那么是同一个。如果只是值相等,但是是两个变量,两处拿到的napi_callback_info就不同。
问题2:可以使用napi_define_class来建立JS构造函数和成员函数与C方法的关联,不一定需要c++类。此外napi_wrap绑定的是void*,所有数据都支持。