php多线程抓取多个网页(先看springbootx深度理解定时任务schedule基于上述代码修改源码)
优采云 发布时间: 2021-09-25 09:26php多线程抓取多个网页(先看springbootx深度理解定时任务schedule基于上述代码修改源码)
“这是我参加八月庚文挑战赛的第16天。请参阅活动详情:八月庚文挑战赛”
让我们看一看spring boot2.x,以深入了解计划的任务时间表
基于上述代码修改
源代码:/langyastudi
正式文件:
工作中经常涉及异步任务。通常使用多线程技术,例如线程池ThreadPoolExecutor。其执行规则如下(图片来源于网络):
使用spring开发时,除了使用@enablesync和@async注释外,还需要定义taskexecutor类型的bean。幸运的是,spring boot提供了taskexecutionautoconfiguration的自动配置,它自动注册bean(名为ApplicationTaskExecutor)的threadpooltaskexecutor(taskexecutor的实现类)。因此,在spring引导中,您只需要使用@EnableSync和@async注释来完成多线程异步操作
使用步骤
Spring boot通过以下方式提供异步多线程任务:
在entry类中启用对异步多线程任务的支持:
@SpringBootApplication
@EnableAsync
public class Application
{
public static void main(String[] args)
{
...
}
}
复制代码
定义收录异步多线程任务的类:
@Component
@Log4j2
public class AsyncTask
{
@Async
public void loopPrint(Integer i)
{
log.info("async task:" + i);
}
}
复制代码
通过commandlinerunner进行检查:
<p>@Bean
CommandLineRunner asyncTaskClr(AsyncTask asyncTask)
{
return (args) -> {
for (int ix=0; ix