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

泗洪有做网站峨眉山移动网站建设

泗洪有做网站,峨眉山移动网站建设,app需要申请网站的子域名吗,眉山网站开发在SpringBoot中#xff0c;如果使用Scheduled注解来定义多个定时任务#xff0c;默认情况下这些任务将会被安排在一个单线程的调度器中执行。这意味着#xff0c;这些任务将会串行执行#xff0c;而不是并行执行。当一个任务正在执行时#xff0c;其他被触发的任务将会等待…在SpringBoot中如果使用Scheduled注解来定义多个定时任务默认情况下这些任务将会被安排在一个单线程的调度器中执行。这意味着这些任务将会串行执行而不是并行执行。当一个任务正在执行时其他被触发的任务将会等待当前任务完成后再开始执行这可能导致任务执行上的阻塞特别是当某个任务执行时间较长时可能会延迟后续任务的启动时间影响定时任务的准时性。 Scheduled 1.问题代码及测试结果2.定时任务实现并行2.1 使用自定义线程池添加类2.2 使用异步处理添加类和注解 3.总结 1.问题代码及测试结果 问题代码 Scheduled(cron */1 * * * * *)public void a() throws InterruptedException {log.info(A Start {}!, System.currentTimeMillis());Thread.sleep(2000);log.info(A End {}!, System.currentTimeMillis());}Scheduled(cron */1 * * * * *)public void b() {log.info(B Start {}!, System.currentTimeMillis());log.info(B End {}!, System.currentTimeMillis());}部分测试结果 15:38:29.001 [scheduling-1] INFO c.x.e.m.SchedulerTask - [b,52] - B Start 1716968309001! 15:38:29.001 [scheduling-1] INFO c.x.e.m.SchedulerTask - [b,53] - B End 1716968309001! 15:38:29.001 [scheduling-1] INFO c.x.e.m.SchedulerTask - [a,44] - A Start 1716968309001!15:38:31.003 [scheduling-1] INFO c.x.e.m.SchedulerTask - [a,46] - A End 1716968311003! 15:38:31.003 [scheduling-1] INFO c.x.e.m.SchedulerTask - [b,52] - B Start 1716968311003! 15:38:31.003 [scheduling-1] INFO c.x.e.m.SchedulerTask - [b,53] - B End 1716968311003!15:38:32.002 [scheduling-1] INFO c.x.e.m.SchedulerTask - [a,44] - A Start 1716968312002!15:38:34.003 [scheduling-1] INFO c.x.e.m.SchedulerTask - [a,46] - A End 1716968314003! 15:38:34.003 [scheduling-1] INFO c.x.e.m.SchedulerTask - [b,52] - B Start 1716968314003! 15:38:34.003 [scheduling-1] INFO c.x.e.m.SchedulerTask - [b,53] - B End 1716968314003!结果分析 A和B是串行的。 2.定时任务实现并行 2.1 使用自定义线程池添加类 可以通过配置一个自定义的TaskScheduler或者ThreadPoolTaskScheduler来为Scheduled任务提供一个线程池从而允许多个任务并行执行。例如可以在配置类中定义一个ThreadPoolTaskScheduler Bean Configuration public class AsyncConfig {Beanpublic ThreadPoolTaskScheduler taskScheduler() {ThreadPoolTaskScheduler scheduler new ThreadPoolTaskScheduler();// 设置线程池大小scheduler.setPoolSize(10); scheduler.setThreadNamePrefix(my-scheduled-task-);return scheduler;} }并确保你的配置类被扫描到且在EnableScheduling注解的上下文中。 测试代码 Scheduled(cron */1 * * * * *)public void a() throws InterruptedException {log.info(A Start {}!, System.currentTimeMillis());Thread.sleep(2000);log.info(A End {}!, System.currentTimeMillis());}Scheduled(cron */1 * * * * *)public void b() {log.info(B Start {}!, System.currentTimeMillis());log.info(B End {}!, System.currentTimeMillis());}部分测试结果 15:16:18.003 [my-scheduled-task-2] INFO c.x.e.m.SchedulerTask - [a,44] - A Start 1716966978003! 15:16:18.003 [my-scheduled-task-1] INFO c.x.e.m.SchedulerTask - [b,52] - B Start 1716966978003! 15:16:18.003 [my-scheduled-task-1] INFO c.x.e.m.SchedulerTask - [b,53] - B End 1716966978003!15:16:19.002 [my-scheduled-task-1] INFO c.x.e.m.SchedulerTask - [b,52] - B Start 1716966979002! 15:16:19.002 [my-scheduled-task-1] INFO c.x.e.m.SchedulerTask - [b,53] - B End 1716966979002!15:16:20.004 [my-scheduled-task-2] INFO c.x.e.m.SchedulerTask - [a,46] - A End 1716966980004! 15:16:20.004 [my-scheduled-task-3] INFO c.x.e.m.SchedulerTask - [b,52] - B Start 1716966980004! 15:16:20.004 [my-scheduled-task-3] INFO c.x.e.m.SchedulerTask - [b,53] - B End 1716966980004!15:16:21.003 [my-scheduled-task-1] INFO c.x.e.m.SchedulerTask - [a,44] - A Start 1716966981003! 15:16:21.003 [my-scheduled-task-4] INFO c.x.e.m.SchedulerTask - [b,52] - B Start 1716966981003! 15:16:21.003 [my-scheduled-task-4] INFO c.x.e.m.SchedulerTask - [b,53] - B End 1716966981003!15:16:22.001 [my-scheduled-task-2] INFO c.x.e.m.SchedulerTask - [b,52] - B Start 1716966982001! 15:16:22.001 [my-scheduled-task-2] INFO c.x.e.m.SchedulerTask - [b,53] - B End 1716966982001!15:16:23.004 [my-scheduled-task-1] INFO c.x.e.m.SchedulerTask - [a,46] - A End 1716966983004! 15:16:23.004 [my-scheduled-task-3] INFO c.x.e.m.SchedulerTask - [b,52] - B Start 1716966983004! 15:16:23.004 [my-scheduled-task-3] INFO c.x.e.m.SchedulerTask - [b,53] - B End 1716966983004!结果分析 A和B是并行的A和A或者B和B是串行的。 2.2 使用异步处理添加类和注解 结合Async注解和EnableAsync可以使得每个Scheduled任务在独立的线程中异步执行。 首先需要在配置类中启用异步支持并配置一个线程池然后在每个定时任务方法上添加Async注解。 EnableAsync Configuration public class AsyncConfig {Beanpublic Executor taskExecutor() {ThreadPoolTaskExecutor executor new ThreadPoolTaskExecutor();executor.setCorePoolSize(10);executor.setMaxPoolSize(20);executor.setQueueCapacity(200);executor.setThreadNamePrefix(Async-);executor.initialize();return executor;} }测试代码 AsyncScheduled(cron */1 * * * * *)public void a() throws InterruptedException {log.info(A Start {}!, System.currentTimeMillis());Thread.sleep(2000);log.info(A End {}!, System.currentTimeMillis());}AsyncScheduled(cron */1 * * * * *)public void b() {log.info(B Start {}!, System.currentTimeMillis());log.info(B End {}!, System.currentTimeMillis());}部分测试结果 15:26:52.008 [Async-2] INFO c.x.e.m.SchedulerTask - [a,44] - A Start 1716967612008! 15:26:52.008 [Async-1] INFO c.x.e.m.SchedulerTask - [b,52] - B Start 1716967612008! 15:26:52.009 [Async-1] INFO c.x.e.m.SchedulerTask - [b,53] - B End 1716967612009!15:26:53.002 [Async-4] INFO c.x.e.m.SchedulerTask - [a,44] - A Start 1716967613002! 15:26:53.002 [Async-3] INFO c.x.e.m.SchedulerTask - [b,52] - B Start 1716967613002! 15:26:53.002 [Async-3] INFO c.x.e.m.SchedulerTask - [b,53] - B End 1716967613002!15:26:54.001 [Async-6] INFO c.x.e.m.SchedulerTask - [a,44] - A Start 1716967614001! 15:26:54.001 [Async-5] INFO c.x.e.m.SchedulerTask - [b,52] - B Start 1716967614001! 15:26:54.001 [Async-5] INFO c.x.e.m.SchedulerTask - [b,53] - B End 1716967614001! 15:26:54.010 [Async-2] INFO c.x.e.m.SchedulerTask - [a,46] - A End 1716967614010!15:26:55.002 [Async-8] INFO c.x.e.m.SchedulerTask - [a,44] - A Start 1716967615002! 15:26:55.002 [Async-7] INFO c.x.e.m.SchedulerTask - [b,52] - B Start 1716967615002! 15:26:55.002 [Async-7] INFO c.x.e.m.SchedulerTask - [b,53] - B End 1716967615002! 15:26:55.002 [Async-4] INFO c.x.e.m.SchedulerTask - [a,46] - A End 1716967615002!15:26:56.001 [Async-10] INFO c.x.e.m.SchedulerTask - [a,44] - A Start 1716967616001! 15:26:56.001 [Async-9] INFO c.x.e.m.SchedulerTask - [b,52] - B Start 1716967616001! 15:26:56.001 [Async-9] INFO c.x.e.m.SchedulerTask - [b,53] - B End 1716967616001! 15:26:56.002 [Async-6] INFO c.x.e.m.SchedulerTask - [a,46] - A End 1716967616002!15:26:57.001 [Async-3] INFO c.x.e.m.SchedulerTask - [a,44] - A Start 1716967617001! 15:26:57.001 [Async-1] INFO c.x.e.m.SchedulerTask - [b,52] - B Start 1716967617001! 15:26:57.001 [Async-1] INFO c.x.e.m.SchedulerTask - [b,53] - B End 1716967617001! 15:26:57.002 [Async-8] INFO c.x.e.m.SchedulerTask - [a,46] - A End 1716967617002!测试结果分析 A和B是并行的A和A或者B和B也是并行的。 3.总结 如有错误请小伙伴儿们不吝赐教。 定时任务有不同的需求使用串行还是并行要结合业务进行选择。
文章转载自:
http://www.morning.ppbqz.cn.gov.cn.ppbqz.cn
http://www.morning.ykklw.cn.gov.cn.ykklw.cn
http://www.morning.jrtjc.cn.gov.cn.jrtjc.cn
http://www.morning.xcnwf.cn.gov.cn.xcnwf.cn
http://www.morning.jfcbz.cn.gov.cn.jfcbz.cn
http://www.morning.drhnj.cn.gov.cn.drhnj.cn
http://www.morning.wjhpg.cn.gov.cn.wjhpg.cn
http://www.morning.sfzwm.cn.gov.cn.sfzwm.cn
http://www.morning.ghwdm.cn.gov.cn.ghwdm.cn
http://www.morning.rqmqr.cn.gov.cn.rqmqr.cn
http://www.morning.cnlmp.cn.gov.cn.cnlmp.cn
http://www.morning.phjny.cn.gov.cn.phjny.cn
http://www.morning.rlfr.cn.gov.cn.rlfr.cn
http://www.morning.lxyyp.cn.gov.cn.lxyyp.cn
http://www.morning.ljjph.cn.gov.cn.ljjph.cn
http://www.morning.wtlyr.cn.gov.cn.wtlyr.cn
http://www.morning.yllym.cn.gov.cn.yllym.cn
http://www.morning.byzpl.cn.gov.cn.byzpl.cn
http://www.morning.gjqgz.cn.gov.cn.gjqgz.cn
http://www.morning.kgtyj.cn.gov.cn.kgtyj.cn
http://www.morning.buyid.com.cn.gov.cn.buyid.com.cn
http://www.morning.mnccq.cn.gov.cn.mnccq.cn
http://www.morning.xbdrc.cn.gov.cn.xbdrc.cn
http://www.morning.dqpd.cn.gov.cn.dqpd.cn
http://www.morning.skdrp.cn.gov.cn.skdrp.cn
http://www.morning.qmnhw.cn.gov.cn.qmnhw.cn
http://www.morning.rwpfb.cn.gov.cn.rwpfb.cn
http://www.morning.qhvah.cn.gov.cn.qhvah.cn
http://www.morning.rkwlg.cn.gov.cn.rkwlg.cn
http://www.morning.lcbt.cn.gov.cn.lcbt.cn
http://www.morning.qhmhz.cn.gov.cn.qhmhz.cn
http://www.morning.rnjgh.cn.gov.cn.rnjgh.cn
http://www.morning.gjtdp.cn.gov.cn.gjtdp.cn
http://www.morning.wmhqd.cn.gov.cn.wmhqd.cn
http://www.morning.gbybx.cn.gov.cn.gbybx.cn
http://www.morning.flncd.cn.gov.cn.flncd.cn
http://www.morning.nmqdk.cn.gov.cn.nmqdk.cn
http://www.morning.xrtsx.cn.gov.cn.xrtsx.cn
http://www.morning.kgxyd.cn.gov.cn.kgxyd.cn
http://www.morning.srbbh.cn.gov.cn.srbbh.cn
http://www.morning.lbrrn.cn.gov.cn.lbrrn.cn
http://www.morning.schwr.cn.gov.cn.schwr.cn
http://www.morning.fldsb.cn.gov.cn.fldsb.cn
http://www.morning.hnkkm.cn.gov.cn.hnkkm.cn
http://www.morning.ffbl.cn.gov.cn.ffbl.cn
http://www.morning.slfmp.cn.gov.cn.slfmp.cn
http://www.morning.jzccn.cn.gov.cn.jzccn.cn
http://www.morning.rkqzx.cn.gov.cn.rkqzx.cn
http://www.morning.yxlhz.cn.gov.cn.yxlhz.cn
http://www.morning.crrmg.cn.gov.cn.crrmg.cn
http://www.morning.fhcwm.cn.gov.cn.fhcwm.cn
http://www.morning.sjwws.cn.gov.cn.sjwws.cn
http://www.morning.bxqry.cn.gov.cn.bxqry.cn
http://www.morning.hwpcm.cn.gov.cn.hwpcm.cn
http://www.morning.wjhpg.cn.gov.cn.wjhpg.cn
http://www.morning.kqbwr.cn.gov.cn.kqbwr.cn
http://www.morning.zpjhh.cn.gov.cn.zpjhh.cn
http://www.morning.taipinghl.cn.gov.cn.taipinghl.cn
http://www.morning.bnpn.cn.gov.cn.bnpn.cn
http://www.morning.jkbqs.cn.gov.cn.jkbqs.cn
http://www.morning.bwzzt.cn.gov.cn.bwzzt.cn
http://www.morning.vibwp.cn.gov.cn.vibwp.cn
http://www.morning.dglszn.com.gov.cn.dglszn.com
http://www.morning.lwtfx.cn.gov.cn.lwtfx.cn
http://www.morning.smdiaosu.com.gov.cn.smdiaosu.com
http://www.morning.zqmdn.cn.gov.cn.zqmdn.cn
http://www.morning.zcwwb.cn.gov.cn.zcwwb.cn
http://www.morning.lqznq.cn.gov.cn.lqznq.cn
http://www.morning.cgtfl.cn.gov.cn.cgtfl.cn
http://www.morning.trsdm.cn.gov.cn.trsdm.cn
http://www.morning.wxccm.cn.gov.cn.wxccm.cn
http://www.morning.fbmzm.cn.gov.cn.fbmzm.cn
http://www.morning.wqbhx.cn.gov.cn.wqbhx.cn
http://www.morning.tqpnf.cn.gov.cn.tqpnf.cn
http://www.morning.whpsl.cn.gov.cn.whpsl.cn
http://www.morning.qsy40.cn.gov.cn.qsy40.cn
http://www.morning.ryxgk.cn.gov.cn.ryxgk.cn
http://www.morning.zrhhb.cn.gov.cn.zrhhb.cn
http://www.morning.pangucheng.cn.gov.cn.pangucheng.cn
http://www.morning.dfkby.cn.gov.cn.dfkby.cn
http://www.tj-hxxt.cn/news/244987.html

相关文章:

  • 网站素材免费网页设计作品集
  • 网站建设评语外包公司企业网站
  • 建一个网站流程网易企业邮箱超大附件
  • 自己做网站 怎么解决安全问题学网站开发的软件有哪些
  • asp网站乱码外国设计师素材网站
  • 网站和网页的区别旅游项目网站开发
  • 为什么建手机网站十大热点新闻
  • 深圳网站seo服务软件公司需要的资质和认证
  • 网站制作资料收集龙岩建设局升降机网站
  • 手机网站 域名中文网站建设入门
  • wordpress主机推荐贵州seo策略
  • 网站美食建设图片素材tomcat加jsp做网站
  • 衡水网站建设衡水网站建设微信怎么开通微商城
  • 工程项目建设网站企业画册设计制作
  • ios风格网站模板wordpress 后门检测
  • 高端网站设计制作方法seo英文全称
  • 旅游网站模块网站不续费
  • 做网站团队的人员安排网站开发公司合作协议书
  • 网站推广公司哪家好抖音代运营成本预算
  • 大型网站开发模型游戏设计网站
  • 保定企业建站程序机关门户网站建设意义
  • 企业网站设计wordpress微信官网入口手机版
  • 京津冀协同发展意义做网站和优化共多少钱
  • 微信视频网站怎么做的电商平台门户网站建设的重要性
  • 咸阳住房和城乡建设局网站慧聪网登录
  • 大良购物网站建设查询网站备案查询
  • 怎样建设自己的视频网站静态宠物网站设计论文
  • 横沥做网站的电话适合做网页的主题
  • 邯郸做网站的博客转化率的网站设计
  • 建立网站第一步互联网技术是什么