代码中做阻塞式的耗时操作,会影响其它任务的执行吗

如果在这段代码中做阻塞式的耗时操作,会影响其它任务的执行吗?

static void ExecuteCB(napi_env env, void *data) 
{ 
  CallbackData *callbackData = reinterpret_cast<CallbackData *>(data); 
  callbackData->result = callbackData->args; 
}
HarmonyOS
2024-05-11 14:36:29
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
人提唱盘

ExecuteCB的执行完毕后,才会执行CompleteCB的回调处理,所以在ExecuteCB中增加耗时操作,会影响回调中CompleteCB的执行,比如,sleep操作。CompleteCB在主线程执行,ExecuteCB在工作线程中执行。

只有在AsyncWork函数执行时,将CPU执行释放(如在AsyncWork函数的napi_queue_async_work语句后增加sleep)后,会执行ExecuteCB回调,但是,只有AsyncWork函数执行完毕后,才会执行CompleteCB函数。

分享
微博
QQ
微信
回复
2024-05-12 20:58:04
相关问题
openharmony napi 异步耗时阻塞jsui刷新
5515浏览 • 1回复 已解决
延迟任务什么时候执行
1692浏览 • 1回复 待解决
在ArkTS如何处理耗时操作
531浏览 • 1回复 待解决
鸿蒙js开发影响其性能吗?
12925浏览 • 3回复 待解决
如何在构建任务执行shell脚本
383浏览 • 1回复 待解决
如何在ArkTS代码执行HTML内JS函数
2365浏览 • 1回复 待解决