异步是否对主线程有影响

1、setInterval 是异步执行的吗?频繁通过setInterval计时是否会影响主线程以及屏幕刷新率;

2、如何自主判断是异步接口?

3、如何在任务中查看当前是否是在主线程还是在其他线程?

HarmonyOS
2024-07-21 19:08:14
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
mzshj

1、setinterval是异步的。是否影响主线程,要看setInterval的callback中做了什么(如果仅是少量数据处理,问题不大,如果是大量数据处理,建议使用worker或taskpool。如果是给页面显示的数据重新赋值,过于频繁的确会影响主线程,毕竟绘制是在主线程处理的)

2、HarmonyOS里的异步并发实现有Promise和async/await,有相关实现的就可以理解为该接口是异步接口,详情可以参考文档:异步并发概述 (Promise和async/await)

3、通过process.tid 获取线程id,然后根据线程id 调用不同的接口可以获取线程相关信息。可以通过此方法判断主次线程:

function isMainThread(): boolean {   return process.pid == process.tid }
分享
微博
QQ
微信
回复
2024-07-22 11:10:00
相关问题
如何判断是否主线程
759浏览 • 1回复 待解决
如何判断当前线程是否主线程
2145浏览 • 1回复 待解决
怎样判断当前线程是否主线程
271浏览 • 1回复 待解决
Worker的宿主线程必须是主线程吗?
241浏览 • 1回复 待解决
HarmonyOS主线程线程切换问题
286浏览 • 1回复 待解决
TaskPool子线程主线程如何通信
2120浏览 • 1回复 待解决
js 怎么开启异步线程?
5834浏览 • 1回复 待解决
TaskPool如何跟主线程进行通信
300浏览 • 1回复 待解决
Watcha3pro升级系统对手表会有影响吗?
4678浏览 • 1回复 已解决
提问
该提问已有0人参与 ,帮助了0人