当前位置: 首页 > news >正文

wordpress建的网站打开太慢网页版梦幻西游红色伙伴搭配

wordpress建的网站打开太慢,网页版梦幻西游红色伙伴搭配,wordpress hook列表,自助网站建设技术支持1、概 述 并发是指在同一时间段内#xff0c;能够处理多个任务的能力。为了提升应用的响应速度与帧率#xff0c;以及防止耗时任务对主线程的干扰#xff0c;HarmonyOS系统提供了异步并发和多线程并发两种处理策略。 异步并发#xff1a;指异步代码在执行到一定程度后会被…1、概 述 并发是指在同一时间段内能够处理多个任务的能力。为了提升应用的响应速度与帧率以及防止耗时任务对主线程的干扰HarmonyOS系统提供了异步并发和多线程并发两种处理策略。 异步并发指异步代码在执行到一定程度后会被暂停以便在未来某个时间点继续执行这种情况下同一时间只有一段代码在执行。 多线程并发它允许在同一时间段内同时执行多段代码。在主线程继续响应用户操作和更新UI的同时后台也能执行耗时操作从而避免应用出现卡顿。 并发能力在多种场景中都有应用其中包括单次I/O任务、CPU密集型任务、I/O密集型任务和同步任务等。我们可以根据不同的场景选择相应的并发策略进行优化和开发。 ArkTS支持异步并发和多线程并发。 Promise和async/await提供异步并发能力适用于单次I/O任务的开发场景。(之前我们已经讨论过参看文章 异步场景: promise、async函数与await命令介绍) TaskPool和Worker提供多线程并发能力适用于CPU密集型任务、I/O密集型任务和同步任务等并发场景。 目前ArkTs提供的多线程并发能力都基于Actor并发模型在介绍TaskPool和Worker前我们先了解下多线程并发中的两个并发模型Actor并发模型、内存共享并发模型。 为了解释两个并发模型后文以经典的生产者消费者问题为例对比呈现这两种模型在解决具体问题时的差异。 2、Actor并发模型 Actor并发模型中每一个线程都是一个独立Actor每个Actor有自己独立的内存Actor之间通过消息传递机制触发对方Actor的行为不同Actor之间不能直接访问对方的内存空间。 ⭐️ Actor并发模型特点Actor模型不同角色之间并不共享内存生产者线程和UI线程都有自己独占的内存。 在生产者消费者问题中过程为生产者生产出结果后通过序列化通信将结果发送给UI线程UI线程消费结果后再发送新的生产任务给生产者线程。示意图如下 以下示例简单展示了如何使用基于Actor模型的TaskPool并发能力来解决生产者消费者问题【重点关注4~8行11~14行35~39行】。 import { taskpool } from kit.ArkTS;// 跨线程并发任务Concurrentasync function produce(): Promisenumber{ // 添加生产相关逻辑 console.log(producing...); return Math.random();}class Consumer { public consume(value : Object) { // 添加消费相关逻辑 console.log(consuming value: value); }}EntryComponentstruct Index { State message: string Hello World build() { Row() { Column() { Text(this.message) .fontSize(50) .fontWeight(FontWeight.Bold) Button() { Text(start) }.onClick(() { let produceTask: taskpool.Task new taskpool.Task(produce); let consumer: Consumer new Consumer(); for (let index: number 0; index 10; index) { // 执行生产异步并发任务 taskpool.execute(produceTask).then((res : Object) { consumer.consume(res); }).catch((e : Error) { console.error(e.message); }) } }) .width(20%) .height(20%) } .width(100%) } .height(100%) }} 3、内存共享并发模型 内存共享并发模型中多个线程同时执行复数任务这些线程依赖同一内存并且都有权限访问线程访问内存前需要抢占并锁定内存的使用权没有抢占到内存的线程需要等待其他线程释放使用权再执行。 ⭐️ 内存共享并发模型特点线程间共享内存内存的操作有排他性。 为了避免不同生产者或消费者同时访问一块共享内存的容器时产生的脏读脏写现象同一时间只能有一个生产者或消费者访问该容器也就是不同生产者和消费者争夺使用容器的锁。当一个线程获取锁之后其他线程需要等待该线程释放锁之后才能重新尝试获取锁以访问该容器。示意图如下 以下示例伪代码和示意图展示了如何使用内存共享模型解决生产者消费者问题。 // 此段示例为伪代码仅作为逻辑示意便于开发者理解使用内存共享模型和Actor模型的区别BufferQueue { Queue queue Mutex mutex add(value) { // 尝试获取锁 if (mutex.lock()) { queue.push(value) mutex.unlock() } } take() { // 尝试获取锁 if (mutex.lock()) { if (queue.empty()) { return null } let res queue.pop(value) mutex.unlock() return res } }}// 构造一段全局共享的内存let g_bufferQueue new BufferQueue()Producer { run() { let value random() // 跨线程访问bufferQueue对象 g_bufferQueue.add(value) }}Consumer { run() { // 跨线程访问bufferQueue对象 let res g_bufferQueue.take() if (res ! null) { // 添加消费逻辑 } }}Main() { let consumer new Consumer() let producer new Producer() // 多线程执行生产任务 for 0 in 10 : let thread new Thread() thread.run(producer.run()) consumer.run()}​​​​​​​Actor并发模型对比内存共享并发模型的优势在于不同线程间内存隔离不会产生不同线程竞争同一内存资源的问题。开发者不需要考虑对内存上锁导致的一系列功能、性能问题提升了开发效率。
http://www.dnsts.com.cn/news/84107.html

相关文章:

  • 网站开发需要的编程软件有哪些长沙 网络营销外包
  • 加强公司网站建设及数据库的通知码云pages做静态网站
  • 献县网站建设设计类专业有哪些学校
  • 移动网站开发技术快递网站建设代码
  • 网站空间大小多少合适如何在网站搜关键字
  • 廊坊做网站哪家好wordpress域名转移
  • 湖南旅游网站开发广州网站制作
  • 公司网站制作应该注意些什么网站开发的自适应
  • 哈尔滨双城区建设局网站潮州市网站建设公司
  • 冠县网站建设gxsh个人可以做哪些网站
  • 上海网站建设高端网站制作完成之后我们便进入了什么阶段
  • 网站建设核心点wordpress 美化登录
  • 增城企业网站建设朔州网站建设价格
  • 成都网站seo排名黄山网站设计
  • 城市生活网官方网站app小程序制作第三方平台
  • 营销型网站建设排名小程序制作用华网天下北京
  • 上海市门户网站前端好还是后端好
  • 做整形网站多少钱最好看免费观看高清大全老师补课中国
  • 网站网络营销推广商城重庆建设局网站
  • 可以做样机图的网站淘宝流量
  • 企业网站建设效果短视频
  • 丰台做网站的公司个人网站官网
  • 高端品牌网站建设的特点微信搜一搜怎么做推广
  • 一流专业建设网站做网站 二维码登录
  • 有哪些学做衣服的网站网站数据丢失
  • 网站开发项目需求部队网站建设
  • 百度建立网站需要花多少钱企业网络平台建设
  • 高校网站首页设计网络推广经典和常用的方法
  • 简约 时尚 高端 网站建设如何用cms做网站
  • 高端网站建设公司名字广西网站建设哪家好