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

wordpress建的网站打开太慢欧莱雅网站建设与推广方案

wordpress建的网站打开太慢,欧莱雅网站建设与推广方案,企业logo怎么设计,wordpress 负载均衡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.hkea.cn/news/14386020/

相关文章:

  • jsp网站开发介绍wordpress cms主题教程
  • 企业网站建设专业公司中国十佳网站建设公司
  • 深圳定制工作装seo优化网络推广
  • 招标网最新招标公告百度网站如何优化排名
  • 云霄网站建设wordpress 谷歌字体 360
  • 如何制作推广网站哪个网站可以做一对一老师
  • wordpress 站群软件做网站要会哪些知识
  • 网站建设的主要作用wordpress等待响应
  • 网站建设必须要服务器吗昆明网站建设织梦
  • 商城网站怎么做内链劳务派遣做网站的好处
  • 网站开发课程设计参考文献网站源码商城
  • wordpress 站外调用毕业设计网站建设选题依据
  • 杭州营销型网站pc端网站建设价格明细表
  • 生态文明建设网站专题培训石家庄做网站公司
  • 品牌建设的规划与实施汕头seo公司
  • 企业做网站要多少钱百度网盘搜索引擎网站
  • 建设集团招聘网站优化外包公司
  • 企业网站seo运营口碑营销方案怎么写
  • 网站空间是指什么住建综合管理平台
  • 网站建设设计贵吗微信小程序源码网站
  • 印刷网站开发策划书微信电子宣传册制作app
  • 搜索引擎和门户网站的区别全球十大摄影作品
  • 广州网站开发招聘信息soso搜搜
  • 庐江住房建设局网站开发公司网签的流程
  • 兰陵网站建设网站建设软文推广
  • 翡翠原石网站首页怎么做做黑网站赚钱吗
  • 安徽省建设安全协会网站某商贸网站建设方案
  • 入境游旅游网站建设大连新图闻科技
  • 东莞做网站公司百度竞价推广课程
  • 庆阳网站设计 贝壳下拉wordpress主题academy