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

佘山做网站建设网站都要学些什么手续

佘山做网站,建设网站都要学些什么手续,可视化拖拽网站建设软件,wordpress安装无法连接数据库连接线程池参数设置 hello丫#xff0c;各位小伙伴们#xff0c;好久不见了#xff01; 下面#xff0c;我们先来复习一下线程池的参数 1、线程池参数有哪些#xff1f; corePoolSize#xff08;核心线程数#xff09;#xff1a;线程池中的常驻核心线程数。即使这些线程…线程池参数设置 hello丫各位小伙伴们好久不见了 下面我们先来复习一下线程池的参数 1、线程池参数有哪些 corePoolSize核心线程数线程池中的常驻核心线程数。即使这些线程处于空闲状态它们也不会被销毁。除非设置了allowCoreThreadTimeOut否则核心线程在空闲时也不会被终止。 maximumPoolSize最大线程数线程池中允许的最大线程数。当工作队列已满并且正在执行的线程数等于corePoolSize时线程池会创建新的线程来处理任务直到线程数达到maximumPoolSize。 keepAliveTime线程空闲时间当线程数大于corePoolSize时这是多余空闲线程等待新任务的最长时间。超过这个时间后多余的空闲线程将被终止。这个参数帮助减少系统资源消耗。 unit时间单位keepAliveTime参数的时间单位例如SECONDS、MILLISECONDS等。 workQueue任务队列用于保存等待执行的任务的阻塞队列。当所有核心线程都在工作新提交的任务会被添加到这个队列中等待执行。队列的类型例如ArrayBlockingQueue、LinkedBlockingQueue或SynchronousQueue会影响线程池的行为。 threadFactory线程工厂用于创建新线程的工厂它提供了定制新线程的方式例如设置线程名、是否为守护线程等。 handler拒绝策略当线程池无法处理新任务时例如任务队列已满且线程数已达到maximumPoolSize这个策略定义了应该如何处理。Java提供了几种内置的拒绝策略如AbortPolicy抛出异常、CallerRunsPolicy调用者运行任务、DiscardOldestPolicy丢弃队列中最老的任务和DiscardPolicy直接丢弃任务。也可以根据需要实现自定义的拒绝策略。 2、线程池核心线程数和最大线程数怎么设置 分为CPU密集型和IO密集型 CPU这种任务消耗的主要是 CPU 资源可以将线程数设置为 NCPU 核心数1比 CPU 核心数多出来的一个线程是为了防止线程偶发的缺页中断或者其它原因导致的任务暂停而带来的影响。 IO密集型 这种任务应用起来系统会用大部分的时间来处理 I/O 交互而线程在处理 I/O 的时间段内不会占 用 CPU 来处理这时就可以将 CPU 交出给其它线程使用。因此在 I/O 密集型任务的应用中我们 可以多配置一些线程具体的计算方法可以是 核心线程数CPU核心数量*2。 最大线程数 一般设置为核心线程数的2~3倍这个数值是不固定的 实际工程经验可能并不是严格按照这个来的我们要根据实际开发场景来设置。 3、如何获取CPU核数 Runtime.getRuntime().availableProcessors(); 4、线程池工作流程原理 通俗易讲来说就是 内部是通过队列线程实现的当我们利用线程池执行任务时如果此时线程池中的线程数量小于corePoolSize(核心线程数)即使线程池中的线程都处于空闲状态也要创建新的线程来处理被添加的任务如果此时线程池中的线程数量等于corePoolSize但是阻塞队列(LinkedBlockingQueue)未满那么任务被放入阻塞队列。如果此时线程池中的线程数量大于等于corePoolSize缓冲队列workQueue满并且线程池中的数量小于maximumPoolize建新的线程来处理被添加的任务。如果此时线程池中的线程数量大于corePolSize缓冲队列workQueue满。并且线程池中的数量等于maximumPoolize那么通过 handler所指定的策略来处理此任务。当线程池中的线程数量大于corePoolSize时如果某线程空闲时间超过keepAliveTime线程将被终止。这样线程池可以动态的调整池中的线程数 5、那么再来复习一下线程池的4中拒绝策略 AbortPolicy。这是线程池的默认策略。当任务被拒绝时它会抛出RejectedExecutionException异常。这种方式直接告知任务被拒绝开发者可以根据业务逻辑决定是否重试或放弃提交新任务。DiscardPolicy。在这种策略下当新任务被提交时如果线程池无法处理将被直接丢弃不会有任何通知。这种策略适用于对任务执行不敏感的场景因为它可能会导致数据丢失。DiscardOldestPolicy。如果线程池未关闭且无法执行新任务则会丢弃任务队列中的最老任务即存活时间最长的任务然后可能尝试重新提交被拒绝的任务。这种策略旨在腾出空间给新提交的任务但同样存在数据丢失的风险。CallerRunsPolicy。当有新任务提交且线程池无法执行时该策略会让提交任务的线程直接执行该任务。这提供了最完善的处理方式因为它避免了任务丢失但可能会因为任务提交速度过快而导致程序阻塞。   6、如何合理设置线程池的大小 想要合理配置线程池线程数的大小需要分析任务的类型任务类型不同线程池大小配置也不同。 配置线程池的大小可根据以下几个维度进行分析来配置合理的线程数 任务性质可分为CPU密集型任务IO密集型任务混合型任务。 任务的执行时长。 任务是否有依赖——依赖其他系统资源如数据库连接等。 CPU密集型任务 尽量使用较小的线程池一般为CPU核心数1。 因为CPU密集型任务使得CPU使用率很高若开过多的线程数只能增加上下文切换的次数因此会带来额外的开销。 IO密集型任务 可以使用稍大的线程池一般为2*CPU核心数1。 因为IO操作不占用CPU不要让CPU闲下来应加大线程数量因此可以让CPU在等待IO的时候去处理别的任务充分利用CPU时间。 混合型任务 可以将任务分成IO密集型和CPU密集型任务然后分别用不同的线程池去处理。 只要分完之后两个任务的执行时间相差不大那么就会比串行执行来的高效。 因为如果划分之后两个任务执行时间相差甚远那么先执行完的任务就要等后执行完的任务最终的时间仍然取决于后执行完的任务而且还要加上任务拆分与合并的开销得不偿失 依赖其他资源 如某个任务依赖数据库的连接返回的结果这时候等待的时间越长则CPU空闲的时间越长那么线程数量应设置得越大才能更好的利用CPU。 到这里就结束感谢大家的支持我会继续努力的
http://www.hkea.cn/news/14408702/

相关文章:

  • 制作介绍的网站模板免费下载深圳外贸网站外贸网站建设
  • 做网站赚钱有哪些途径网站设计文案
  • 网站域名备案需要资料荣耀手机官网查询正品
  • 可信网站代码黄骅港务局
  • 对整个网站做词频分析建设网站一定要会代码吗
  • 哪个网站做3d模型如今做啥网站能致富
  • 中国建设银行网站密码是什么wordpress手机双模板下载地址
  • 网站做商业计划书吗wordpress网站图片
  • 芜湖市建设工程网站维护公告网站内容关键词
  • 创意网站建设欣赏wordpress 怎么改中文
  • 淘客网站要怎么做html编辑器手机版
  • 专业设计网址青岛网站开发深圳市建设工程质量监督总站网站
  • 百度收录网站名字优化绿松石什么意思
  • vps远程桌面服务器租用做网站优化公司排行
  • 网站备案幕布做免费网站
  • 动漫网站建设的目的做网站公司赚钱
  • emlog to wordpress柳州做网站seo哪家好
  • 建设部网站监理注销查询泉州市住房和城乡建设部网站
  • 怎么做一个设计师网站全国集团网站建设
  • 百度站长验证网站个人简历空白表可编辑
  • 网站单页推广wordpress 如何添加关键词
  • 松原建设小学网站seo实战密码第三版pdf下载
  • 有服务器和网站代码了 怎么建站wordpress禁止搜索页面
  • 泰州哪里做网站网站定制开发上海
  • 在线缩短网址重庆seo关键词优化服务
  • 珠海网站建设制作怎么收费wordpress 电子商务模板
  • 网址导航类网站如何做推广广州手机软件开发
  • 广州力科网站建设公司wordpress系统怎样下载
  • 汶上网站建设多少钱专业网站制作公司教程
  • 网站怎么收费网站开发自适应不同分辨率