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

网站子页面如何做seo做网站的那些个人工作室

网站子页面如何做seo,做网站的那些个人工作室,做网站常见程序,ps软件免费下载安装全局和局部线程池 全局线程池 在Spring框架中#xff0c;全局线程池如ThreadPoolTaskExecutor通常是作为Spring Bean存在的#xff0c;它们的生命周期由Spring容器管理。当Spring容器关闭时#xff0c;这些线程池也会被适当地清理和关闭。因此#xff0c;开发者通常不需要手…全局和局部线程池 全局线程池 在Spring框架中全局线程池如ThreadPoolTaskExecutor通常是作为Spring Bean存在的它们的生命周期由Spring容器管理。当Spring容器关闭时这些线程池也会被适当地清理和关闭。因此开发者通常不需要手动关闭这些全局线程池 局部线程池 对于在方法内部或者某个局部作用域创建的线程池它们是局部资源不会被Spring容器管理。如果不关闭这些线程池可能会导致线程泄漏因为这些线程池会继续存在并占用系统资源直到程序结束。因此使用完局部线程池后需要调用shutdown()或shutdownNow()方法来关闭线程池释放资源。 资源管理 关闭线程池是为了合理管理资源防止资源泄露和浪费。全局线程池由Spring容器管理可以确保在应用关闭时得到妥善处理。而局部线程池如果没有正确关闭可能会导致不必要的资源占用甚至影响应用程序的稳定性。 总结全局线程池由于其与Spring容器的生命周期绑定通常不需要手动关闭而局部线程池需要在使用完毕后显式关闭以避免资源泄露和其他潜在问题。 多线程使用要设置超时时间不然会OOM 默认超时时间并不是一个固定的时间而是取决于多种因素包括Spring的配置、操作系统和Java虚拟机的配置等 设置了最大活跃时间会变成默认超时时间 原因线程资源未释放如果线程执行的任务长时间无法完成这些线程会持续占用系统资源包括内存。当应用创建过多未完成任务的线程时内存资源逐渐被消耗最终可能导致内存不足从而引发OO单个线程池和多个线程池 案例区别 某程序使用 ThreadPoolExecutor ThreadPoolAll new ThreadPoolExecutor(30,60); 某程序使用 ThreadPoolExecutor ThreadPoolA new ThreadPoolExecutor(15,30); ThreadPoolExecutor ThreadPoolB new ThreadPoolExecutor(15,30); 单个线程池的优势 简单只需要管理一个线程池代码实现和维护相对简单。 资源共享所有任务都在同一个线程池中执行可以更好地利用系统资源避免资源碎片化即有效利用资源。 多个线程池的优势 线程池资源隔离每个线程池都有其最大线程数限制可以防止某个线程池占用过多资源导致其他线程池资源不足。 任务优先级通过配置不同的线程池可以根据任务优先级为不同类型的任务分配不同的资源。 鲁棒性如果某个线程池出现问题不会影响到其他线程池的正常运行。ThreadLocal 存储原理 threadLocal内部维护了一个Map用于存储线程ID到其对应变量副本的映射。当一个线程访问ThreadLocal时它会通过线程ID在Map中找到对应的变量副本。这样即使多个线程同时访问同一个ThreadLocal变量它们也只会访问到自己线程的专属副本。 线程ID是关键主线程会有主线程的线程ID子线程会有子线程的线程ID根据ID找副本依赖部署内存 ThreadLocal并不直接依赖部署内存因为它主要是在运行时为每个线程分配独立的变量副本。然而ThreadLocal的实现需要消耗一定的内存资源因为它需要为每个线程维护一个Map结构来存储变量副本。因此在使用ThreadLocal时需要关注它对系统内存的影响使用注意 需要注意的是ThreadLocal不会自动回收不再使用的线程变量副本。如果线程长时间运行且频繁使用ThreadLocal可能导致内存泄漏。因此在使用ThreadLocal时要确保在线程结束时手动调用remove()方法以释放内存资源。 弱引用原因 k-v; k都有模块名称来区分上游链路调用通过模块名称线程id确保底层的ThreadLocalMap在不同工作区间工作 操作 set get remove 使用场景 为每个线程分配一个独享的对象如Connection 保存全局变量特别是在拦截器中获取用户信息的场景。这样可以让不同方法直接使用这些变量避免参数传递的麻烦 数据库连接池的应用 好处 1在数据库连接池中使用ThreadLocal的主要原因是为了保证每个线程都有其独立的数据库连接这样可以避免多个线程之间的连接干扰提高系统的稳定性和性能。 2ThreadLocal可以为每个线程提供一个独立的数据库连接确保多个线程操作数据库时不会出现资源竞争的问题。此外当每个线程都拥有自己的数据库连接时避免了频繁地从连接池中获取和归还连接的开销因此可以提高性能 3ThreadLocal还可以确保在一个线程内可能需要进行的多个数据库操作使用的是同一个连接从而保证事务的一致性 类似用户是一个主线程在应用配置的分布式事务中主线程拥有线程id这个线程id有两个数据库的connection链接副本所以能保证事务的一致性 多个用户多个线程ID 不使用ThreadLocal的影响 每次需要数据库连接时都必须从连接池中获取而在操作完成后归还。这样的频繁操作会增加额外的开销 如果多个线程共享同一个数据库连接可能会出现数据混乱、连接状态被意外修改等问题。同时要确保一个线程内的多个数据库操作使用同一个连接进行事务管理会变得复杂 总结 数据库连接池使用ThreadLocal的主要原因是为了保证每个线程都有一个独立的数据库连接从而提高系统的稳定性和性能。ThreadLocal为每个线程提供了独立的资源副本避免了资源竞争的问题并且可以通过缓存连接来减少频繁获取和归还连接的开销。此外ThreadLocal还有助于简化事务管理确保多个数据库操作在同一事务内进行。如果不使用ThreadLocal可能会导致资源竞争、数据混乱和事务一致性问题。
http://www.hkea.cn/news/14477861/

相关文章:

  • 成都哪家做网站的最好运营推广公司
  • 自己弄个网站怎么赚钱网站推广去哪家比较好
  • 怎么让别人找你做网站广州网站平台怎么做
  • 个人网站建设平台创建网站的目的
  • 网站建设优化方案网站文章编辑
  • 做网站代理能赚钱吗企业官网建设哪家好
  • 西安建站价格表在互联网上如何赚钱
  • iis网站属性没有asp.net太原网站推广教程
  • php建站模板专业做w7系统的网站
  • 佛山网站建设与推广wordpress 文章页面模板下载
  • 网站的建设目标是什么php 英文网站模板
  • 介绍做ppt高大上图表的网站网站建设选哪家好
  • 免费访问国外网站的应用wordpress 选择插件
  • 云梦县建设安全网站中国建设网官网登录入口
  • 南昌网站建设哪家最好哪个网站的织梦源码好
  • 做网站难么娱乐类网站开发
  • 如何设计网站建设引导页网站建设的一般过程包括哪些方面
  • 宝洁公司网站建设现状清远市清城区发布
  • 网站建设属于软件开发吗荆州网站推广怎么做
  • 建网站 域名 空间瑞安公司做网站
  • 网站开发 打标签小程序免费制作平台小程序
  • 网站建设申请费用建筑设计学什么的
  • 如何选择个人网站主题广州市民网页官网
  • 苏州建设企业网站北京牛鼻子网站建设公司
  • 郑州租赁房网站建设网站建设招商
  • 已备案个人网站做淘宝客网页升级未成年人自行离开
  • 北京旅游网站建设广东建设工程交易中心网站
  • 百度搜不到的网站商城网站建设制作
  • 制作论坛做网站360软件商店
  • 网做 网站有哪些如何做更改网站的图片