# ohos_napi_async_callback **Repository Path**: ybf521/ohos_napi_async_callback ## Basic Information - **Project Name**: ohos_napi_async_callback - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-03 - **Last Updated**: 2026-04-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ohos_napi_async_callback #### 介绍 推理带超时的异步实现,前端指定推理的超时时间,如果后端推理时超时,则立即中断推理释放资源。 #### 时序图 ![img.png](img.png) ### 设计理念 | 模块 | 设计意图 | 关键技术点 | |------|----------|--------------| | 立即返回 undefined | 避免阻塞 JS 主线程,符合 Node.js/OpenHarmony 异步规范 | `std::thread(...).detach()` + N-API 同步返回 | | callback_sent 原子锁 | 解决“超时 vs 推理完成”的竞态问题,保证全局仅回调一次 | `std::atomic::exchange(true)` CAS 操作 | | 双线程竞态架构 | 超时线程负责准时通知+调用 stop();推理线程负责计算+抢占回调权 | 职责分离,互不阻塞,迟到结果自动丢弃 | | ThreadSafeCallback | 桥接 C++ 工作线程与 JS 主线程,规避 `napi_env` 跨线程使用 Crash | `napi_create_threadsafe_function` + `napi_call_threadsafe_function` | | stop() 中断集成 | 真正释放底层 CPU/内存资源,避免无效计算空转 | 引擎 API 需支持线程安全中断,并返回明确状态码 |