详解鸿蒙仓颉开发语言中的计时器

今天又到了大家喜闻乐见的科普环节,也可以说是踩坑环节,哈哈哈。今天聊一聊仓颉开发语言中的计时器,这部分可老有意思了。

为什么这么说呢,因为关于仓颉的计时器你几乎搜不到任何的文档,也没有相关的代码提示,可以说是一写一个不吱声。

但是它还是被幽蓝君发现了蛛丝马迹,今天就把它分享给大家。

仓颉的计时器藏在std.sync包里,名字叫Timer,但是使用时只导入Timer包还不够,我们需要导入这几个模块:

import std.time.*
import std.sync.Timer
import std.sync.CatchupStyle

计时器的写法也是别出心裁,它有几种模式,下面为大家一一介绍

Timer.after(Duration.minute, { => 
    AppLog.info('这是after计时器'); 
    return Duration.second
    })

这行代码的意思是,计时器在一分钟以后执行,然后每分钟执行一次App.info打印。这个模式比较奇怪,它的执行间隔在执行方法中返回。

另一个比较奇怪的地方不知道大家有没有发现,计时器中的延迟时间和执行间隔这两个时间参数使用的是Duration类型的枚举,就是说只能使用它设定好的几个值,目前给出的时间值有Zero、second、minute、hour等,可以看到都是时间整数,你如果想要两秒执行一次,或者是二分之一秒执行一次大概是不行的。

Timer.once(Duration.minute,{=> 
  AppLog.info('这是once计时器');
  })

这种模式大家应该一眼就能看出来,这是只执行一次的计时器,延迟时间是一分钟后。

Timer.repeat(Duration.Zero, Duration.second, {=> 
  AppLog.info('这是repeat计时器'); 
  }, style: CatchupStyle.Skip)

repeat是重复性执行的计时器,Duration.Zero是延迟执行的时间,Duration.second是执行的间隔,这里出现了新的参数style,它的名字叫追平策略,官方给出的解释是:当 Task 执行时间过长时,后续任务执行时间点可能发生延迟,不同的追平策略适用于不同的场景。

Timer.repeatDuring(period: Duration, delay: Duration, interval: Duration, task: () -> Unit, style: CatchupStyle)

这个计时器和上面的repeat类似,它多了一个参数period,意思是重复周期的最大持续时间。类似的还有repeatTimes,它指定了任务的最大执行次数:

Timer.repeatTimes(count: Int64, delay: Duration, interval: Duration, task: () -> Unit, style: CatchupStyle)

以上就是关于仓颉开发语言中计时器的详细内容,感谢阅读,再次祝大家假期愉快。#HarmonyOS语言##仓颉##购物#

#harmonyos#
全部评论

相关推荐

昨天 01:13
门头沟学院
极力劝退985/211的硕士还拿低级(≤14级)进华为,特别是理工科类,特别是上深地区。有的人可能想能进华为就行,后面慢慢升级。有这想法的极力劝退。公司一定会有13/14级,但985/211的硕士拿这级别就是自取其辱,浪费高等教育资源。辛苦培养的硕士博士高学历人才,是为带领中华民族迈向伟大复兴的道路,是中华崛起之未来领袖人物。名校硕博,自贱身份来华为,犹如大夫挑粪,大材小用。从13/14级,即便再加班加点,年年拿a,也得n年才能达到18级成为领袖人物,并且起点决定上限,设想起点16/17级,努力奋斗,正是壮年时(35)便可成长为20-22级,甚至更高,并带领部门持续盈利,造福部门与社会。13/14级喽啰就是打工仔,按时间精力算永远成不了领袖,内部统称为人力而非人,多人就是人力矩阵,多项目搞就是项目并行,并时刻要求高效准确按时完成任务,极力压榨员工时间(包括午休,晚上下班之后时间),低级别员工想升级只能互卷工作时长和工作任务,某些部门也极其不尊重劳动法,想方设法压榨劳动剩余价值,剥夺下班自我学习提升的时间,无法提升个人其他能力,就会被锁定在当前岗位和职级。甚至要求周末加班完成工作任务,因为低级别员工即便是周末双倍工资公司也承担的起。换来的是员工时间投入,项目提前完成。另一个套路是股权,拿捏人心的利器,一来让领导极力想方设法压榨底层员工让公司更好发展,二来让底层员工有期待更加油干,三来是解决公司资金周转问题。拿今天的钱作为明年分红资金,一年卷一年,卷多了就称股权被稀释,减少分红。下个项目进一步压缩人力和研发时间。直到形成项目xx工厂,拿来即用,裁减人力,缩减成本。也就是裁员进行时。(其他带科技属性公司同理)。菊厂喜欢部队的那一套,领导犹如排连团师长,人力矩阵当排兵布阵,想打胜仗敢打敢拼是好事。但当兵是为国家,国家给予军人崇高荣誉,并附带医疗和退伍岗位安置保障。来菊厂讲部队那套,但又没部队那套福利待遇和荣誉,更多的是自私自利自我赋予荣誉。其他工作可能是工作,菊厂工作绝不是工作,是劳作,最终劳命伤财。劝勉,能跑就跑。
华为工作强度 1207人发布 投递华为等公司10个岗位
点赞 评论 收藏
分享
昨天 16:44
门头沟学院 Java
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务