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

徐州有名的设计公司二十条优化疫情措施

徐州有名的设计公司,二十条优化疫情措施,网络公司做的网站,客户做外贸用那些网站文章目录 前言原因是否正确方案是否合理定时轮询场景事件机制等待和唤醒 个人简介 前言 最近逛 CSDN 看到一篇文章,文章大意是说为什么在循环中不推荐使用 sleep 操作,原因在于线程挂起和唤醒会有很大的性能消耗,并推荐使用 Timer 及 Schedu…

文章目录

  • 前言
  • 原因是否正确
  • 方案是否合理
    • 定时轮询场景
    • 事件机制
    • 等待和唤醒
  • 个人简介

前言

  • 最近逛 CSDN 看到一篇文章,文章大意是说为什么在循环中不推荐使用 sleep 操作,原因在于线程挂起和唤醒会有很大的性能消耗,并推荐使用 Timer 及 ScheduledExecutorService 方案进行优化,下面我简单复现一下具体代码,大家思考一下,原文的原因以及解决方案是否合理:
public class Demo {private static final boolean FLAG = true;public static void main(String[] args) {while (FLAG) {try {Thread.sleep(3000);} catch (InterruptedException e) {throw new RuntimeException(e);}}// do something}
}
  • 上面的代码你可能会得到下面的警告:
Call toThread.sleep()’ in a loop, probably busy-waiting
// 循环中调用 sleep 可能会导致忙等待 
// 如 FLAG 变量状态未改变 那么线程可能一直循环,并不断进行线程挂起和唤醒

1698754459535.png

原因是否正确

  • 主要原因和原文博主所说有很大的关系但不完全正确:
  • 我们都知道 Java 线程实际对应着操作系统中的一个线程,对线程的挂起和唤醒是一个很耗性能的操作,因此我们需要避免对线程进行挂起和唤醒;
  • 但还一个重要的原因是忙等待,如上文所示 FLAG 变量的状态可能永远不会被改变,那么线程将会不断进行挂起和唤醒,进入忙等待状态,造成资源的浪费。

方案是否合理

  • 记住一点,讨论方案永远不能脱离场景,没有一种方案可以适应所有的场景,我们永远只是在探讨适合当前场景的方案。因此,原文博主只是提供了一些场景下的方案,下面我们结合一些具体的场景来探讨一些可行的方案:

定时轮询场景

  • 定时轮询的场景我们可以采用博主提供的思路,比如 Timer 及 ScheduledExecutorService 或者其它一些定时机制方案。
比如微服务体系中,客户端上报实例状态,或者服务端检测客户端状态都会使用定时轮询的机制。

事件机制

  • 上文的场景,我更推荐事件机制进行解耦,当变量被改变时,发送变量修改事件进行处理,如常见的 Spring Event 或者其它事件推送框架。
比如一些用户登录场景,当用户登录状态改变时,发送登录事件进行后续处理,比如登录通知等等

等待和唤醒

  • 等待和唤醒机制一般适用于等待时间较长的场景,因为等待和唤醒是一个性能消耗比较大的操作;在等待时间不是很长的场景可以使用轮询机制,避免线程频繁的挂起和唤醒。
在 Java AQS 等待获取锁和线程池任务为空等待新任务时,会使用等待和唤醒操作
轮询机制 和 等待和唤醒 一般会结合使用,避免线程频繁的挂起和唤醒。

个人简介

👋 你好,我是 Lorin 洛林,一位 Java 后端技术开发者!座右铭:Technology has the power to make the world a better place.

🚀 我对技术的热情是我不断学习和分享的动力。我的博客是一个关于Java生态系统、后端开发和最新技术趋势的地方。

🧠 作为一个 Java 后端技术爱好者,我不仅热衷于探索语言的新特性和技术的深度,还热衷于分享我的见解和最佳实践。我相信知识的分享和社区合作可以帮助我们共同成长。

💡 在我的博客上,你将找到关于Java核心概念、JVM 底层技术、常用框架如Spring和Mybatis 、MySQL等数据库管理、RabbitMQ、Rocketmq等消息中间件、性能优化等内容的深入文章。我也将分享一些编程技巧和解决问题的方法,以帮助你更好地掌握Java编程。

🌐 我鼓励互动和建立社区,因此请留下你的问题、建议或主题请求,让我知道你感兴趣的内容。此外,我将分享最新的互联网和技术资讯,以确保你与技术世界的最新发展保持联系。我期待与你一起在技术之路上前进,一起探讨技术世界的无限可能性。

📖 保持关注我的博客,让我们共同追求技术卓越。

http://www.wangmingla.cn/news/163652.html

相关文章:

  • 哪些网站是ruby做的正规seo多少钱
  • 成都装修报价明细seo对网络推广的作用是
  • onethink做的企业网站网站自然排名工具
  • 新疆建设工程造价信息百度seo关键词工具
  • 郑州网站建设行情外贸网站建站平台
  • 协会建设网站的必要性google谷歌搜索引擎入口
  • 如何用php制作网页seo赚钱培训
  • html做网站经验技巧windows优化大师
  • 瀑布流网站模板淘宝seo优化怎么做
  • 动态网站开发考试答案温州百度推广公司电话
  • 泰兴做网站电话青岛seo推广公司
  • 直播网站基础建设百度收录提交入口地址
  • 深圳建网站兴田德润可信培训心得体会万能模板
  • 广州网站设计出名 乐云践新全国各大新闻网站投稿
  • 上海优化网站关键词网络黄页推广软件哪个好
  • 做企业独立网站网络推广公司电话
  • 纺织品公司网站建设免费生成短链接
  • 网站页面设计多少钱百度如何精准搜索
  • 做亚马逊学英语有什么网站吗深圳全网营销方案
  • 中山网站建设文化策划短链接在线生成
  • 免费爱做网站深圳信息公司做关键词
  • 地产网站建设免费推广广告链接
  • wordpress 4.4 火车头网站seo设置是什么意思
  • 单页网站制作学习软件的网站
  • 衡阳网站建设icp备优化网站的方法
  • wordpress主题错误检测seo标题优化关键词怎么选
  • 网站欢迎页怎么做乌海网站seo
  • 广西旅游 网站建设第三方网络营销平台有哪些
  • 罗湖网站建设的公司百度地图导航2021最新版
  • 南宁网站建设设计制作北京网站推广排名服务