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

广州天河网站制作网络广告的计费方式

广州天河网站制作,网络广告的计费方式,济南网站免费制作,网页搭建电子书在项目我们会有很多需要在某一特定时刻自动触发某一时间的需求,例如我们提交订单但未支付的超过一定时间后需要自动取消订单。 定时任务实现的几种方式: Timer:java自带的java.util.Timer类,使用这种方式允许你调度一个java.util…

在项目我们会有很多需要在某一特定时刻自动触发某一时间的需求,例如我们提交订单但未支付的超过一定时间后需要自动取消订单。

定时任务实现的几种方式:

  • Timer:java自带的java.util.Timer类,使用这种方式允许你调度一个java.util.TimerTask任务。这种方式可以让你的程序按照某一个频度执行,但不能在指定时间运行。一般用的较少。

  • ScheduledExecutorService:也是jdk自带的类;基于线程池设计的定时任务类,每个调度任务都会分配到线程池中的一个线程去执行,既任务是并发执行,互不影响。

  • Spring Task:Spring3.0以后自带的task,相当于一个轻量级的Quartz,但其使用起来比Quartz简单很多。

  • Quartz:一个功能比较强大的的调度器,可以让你的程序在指定时间执行,也可以按照某一个频度执行,配置起来稍显复杂。

下面我们看一下如何通过Scheduled实现SpringBoot 的定时任务。

1. 启用定时任务

在springboot主类增加注解@EnableScheduling启用定时任务

import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.scheduling.annotation.EnableScheduling;
@SpringBootApplication@EnableSchedulingpublic class ScheduledApplication {
    public static void main(String[] args) {        SpringApplication.run(SpringBootScheduledApplication.class, args);    }}

2.创建任务类

@Slf4j@Componentpublic class ScheduledService {    @Scheduled(cron = "0/20 * * * * *")    public void scheduled(){        log.info("1使用cron  {}",System.currentTimeMillis());    }    @Scheduled(fixedRate = 3000)    public void scheduled1() {        log.info("2使用fixedRate{}", System.currentTimeMillis());    }    @Scheduled(fixedDelay = 3000)    public void scheduled2() {        log.info("3fixedDelay{}",System.currentTimeMillis());    }}

默认为单线程,可以看到三个定时任务都已经执行,并且使同一个线程中串行执行,如果只有一个定时任务,这样做肯定没问题,当定时任务增多,如果一个任务卡死,会导致其他任务也无法执行。

3.实现多线程任务

3.1 添加配置类并启用异步事件

@Configuration@EnableAsyncpublic class ScheduledAsyncConfig {
private int corePoolSize = 20;private int maxPoolSize = 500;private int queueCapacity = 20;
@Beanpublic Executor taskExecutor() {ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();executor.setCorePoolSize(corePoolSize);executor.setMaxPoolSize(maxPoolSize);executor.setQueueCapacity(queueCapacity);executor.initialize();return executor;}}

3.2,修改2.中的定时任务的类或者方法上添加@Async​​​​​​​

@Slf4j@Component@Asyncpublic class ScheduledService {    @Scheduled(cron = "0/20 * * * * *")    public void scheduled(){        log.info("1使用cron  {}",System.currentTimeMillis());    }    @Scheduled(fixedRate = 3000)    public void scheduled1() {        log.info("2使用fixedRate{}", System.currentTimeMillis());    }    @Scheduled(fixedDelay = 3000)    public void scheduled2() {        log.info("3fixedDelay{}",System.currentTimeMillis());    }}​​​​​​​
http://www.ds6.com.cn/news/102779.html

相关文章:

  • 做服装有哪些好的网站有哪些方面外贸网络营销平台
  • 宁波外贸网站开发自助建站申请
  • 企业qq登录谷歌seo靠谱吗
  • 在百度上免费做网站页面指数基金怎么买才赚钱
  • 微信公众号推广平台信息流优化师是干什么的
  • wordpress点评站seo顾问服务咨询
  • 做电影网站需要空间吗做推广哪个平台好
  • 网站建设工具品牌有哪些站长聚集地
  • 网站管理系统下载网站链接交易
  • .gs域名做网站怎么样网站设计制作公司
  • 百度突然搜不到网站域名批量注册查询
  • 郴州做网站的专业营销团队公司
  • 小型手机网站建设企业seo综合查询工具
  • 百度做网站哪里可以学什么是搜索引擎营销
  • wp如何做网站地图自己怎么开发app软件
  • 百度官方网页seo软件优化工具软件
  • Adobe Muse 商业网站网络营销的认识与理解
  • 怎么做消费一卡通网站怎么让自己上百度
  • 长春专业做网站的公司有哪些雅思培训机构哪家好机构排名
  • 看b站24个小时直播间网络销售平台排名前十
  • 东莞南城网站建设公司怎么样星巴克网络营销案例分析
  • aws wordpress 免费站长工具seo优化系统
  • 兰州专业做网站的公司有哪些301313龙虎榜
  • 有没有做奥数题的网站关键词优化seo排名
  • ui做的好的网站百度竞价点击软件
  • 惠州做网站南京搜索引擎推广优化
  • 怎么做淘宝客采集网站近期时事新闻10条
  • 苏州做网站设计的公司列表网推广效果怎么样
  • 网站建设的素材处理方式百度推广收费
  • 怎么做微信里的网页网站链接北京营销公司比较好的