线程

创建一个独立的线程worker,去执行一项任务,在仓颉里面非常简单,spawn{工作任务代码}这样就可以了,示例如下:

    spawn{
         currentThreadRuns(e)
     }

鸿蒙更多内容,结尾扫
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

复杂一点的例子

    public init(maxWaitingJob: Int64, fullJobQueueStrategy!: WorkerStrategy = Block,
                abilities!: Array<(Event, (Event)->Event)> = []){
        queue = JobQueue(maxWaitingJob, strategy: fullJobQueueStrategy, abilities: this.abilities)
        register(abilities)
        spawn{
            while(!retired.load()){
                var e = queue.dequeue()
                while(!e.end){
                    e = this.abilities[e](e)
                }
            }
        }
    }
Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐