您的位置 首页 java

鸿蒙系统线程相关常用知识点小结(Java版本)

鸿蒙系统 线程 相关常用知识点小结( Java 版本)

1. 不可以在非UI主线程中更新UI元素

l 鸿蒙系统的线程管理跟Android类似,分为UI主线程和非主线程。在启动应用时,系统会为该应用创建一个称为“主线程”的执行线程。该线程随着应用创建或消失,是应用的核心线程。UI界面的显示和更新等操作,都是在主线程上进行。主线程又称UI线程,默认情况下,所有的操作都是在主线程上执行。如果需要执行比较耗时的任务(如下载文件、查询数据库),可创建其他线程来处理。

2. 任务优先级分3个级别

l HIGH:最高任务优先级,比默认优先级、低优先级的任务有更高的几率得到执行。

l DEFAULT:默认任务优先级, 比低优先级的任务有更高的几率得到执行。

l LOW:低任务优先级,比高优先级、默认优先级的任务有更低的几率得到执行。

3. 线程管理相关的知识点:任务派发、取消方式

l syncDispatch同步派发任务:派发任务并在当前线程等待任务执行完成。在返回前,当前线程会被阻塞。

l asyncDispatch异步派发任务:派发任务,并立即返回,返回值是一个可用于取消任务的接口。

l delayDispatch异步延迟派发任务:异步执行,函数立即返回,内部会在延时指定时间后将任务派发到相应队列中。

l Group任务组:表示一组任务,且该组任务之间有一定的联系,由TaskDispatcher执行createDispatchGroup创建并返回。

l Revocable取消任务:Revocable是取消一个异步任务的接口。

l syncDispatchBarrier同步设置屏障任务:在任务组上设立任务执行屏障,同步等待任务组中的所有任务执行完成,再执行指定任务。

l asyncDispatchBarrier:异步设置屏障任务:在任务组上设立任务执行屏障后直接返回,指定任务将在任务组中的所有任务执行完成后再执行。

l applyDispatch:执行多次任务:对指定任务执行多次。

4. 线程间通讯常用方式

l EventHandler:可以通过EventRunner创建新线程,将耗时的操作放到新线程上执行。这样既不阻塞原来的线程,任务又可以得到合理的处理。

5. EventRunner工作模式

l 托管模式(默认模式):不需要开发者调用run()和stop()方法去启动和停止EventRunner。

u 示例:

u EventRunner runnerA = EventRunner.create(“runner1”); // 内部会新建线程

l 手动模式:需要开发者自行调用EventRunner的run()方法和stop()方法来确保线程的启动和停止。

u 示例:

u runnerA = EventRunner.create( false );

u runnerA.run();

文章来源:智云一二三科技

文章标题:鸿蒙系统线程相关常用知识点小结(Java版本)

文章地址:https://www.zhihuclub.com/200361.shtml

关于作者: 智云科技

热门文章

网站地图