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

上海网站建设海淘科技韩国网站设计欣赏

上海网站建设海淘科技,韩国网站设计欣赏,电子商务专业就业前景如何,合肥做网站找哪家好在 Spring 中#xff0c;Async 注解用于将方法标记为异步执行的方法。当使用 Async 注解时#xff0c;该方法将在单独的线程中执行#xff0c;而不会阻塞当前线程。这使得方法可以在后台执行#xff0c;而不会影响主线程的执行。 在您提供的代码示例中#xff0c;a1() 和…在 Spring 中Async 注解用于将方法标记为异步执行的方法。当使用 Async 注解时该方法将在单独的线程中执行而不会阻塞当前线程。这使得方法可以在后台执行而不会影响主线程的执行。 在您提供的代码示例中a1() 和 a2() 方法都被标记为 Async意味着它们将以异步方式执行。这意味着当调用这些方法时它们将会在单独的线程中执行而不会等待方法执行完成。 如果不使用 Async 注解则方法将会以同步方式执行。也就是说当调用这些方法时程序将会阻塞在方法执行处直到方法执行完成才会继续执行后续代码。 因此加上 Async 注解的方法能够实现并发执行而不加 Async 注解的方法则会按照顺序逐个执行。根据您的代码示例加上 Async 注解后a1() 和 a2() 方法将会同时启动并发执行而不会相互阻塞。 需要注意的是使用 Async 注解需要配置一个任务执行器Task Executor来处理异步方法的调用。如果在 Spring Boot 项目中使用 EnableAsync 注解来启用异步支持Spring 将会自动配置默认的任务执行器。如果未配置任务执行器则异步方法将在调用线程中执行而不会启动新的线程来执行。 手动配置任务执行器 配置任务执行器Task Executor import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;import java.util.concurrent.Executor; import java.util.concurrent.ThreadPoolExecutor;Configuration EnableAsync public class AsyncConfig {// 配置任务执行器Bean(name taskExecutor)public Executor taskExecutor() {ThreadPoolTaskExecutor executor new ThreadPoolTaskExecutor();// 设置核心线程数executor.setCorePoolSize(10);// 设置最大线程数executor.setMaxPoolSize(20);// 设置队列容量executor.setQueueCapacity(100);// 设置线程活跃时间秒executor.setKeepAliveSeconds(60);// 设置线程名称前缀executor.setThreadNamePrefix(Async-);// 设置拒绝策略executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());// 初始化线程池executor.initialize();return executor;} }设置核心线程数、设置最大线程数和设置队列容量是线程池中的一些重要参数。 核心线程数Core Thread Pool Size指的是线程池中保持的线程数量。即使这些线程处于空闲状态它们也会一直存在于线程池中以备接收新的任务。当线程池中的线程数量小于核心线程数时新的任务将会创建新的线程来执行。 最大线程数Maximum Pool Size指的是线程池中允许的最大线程数量。当线程池中的线程数量达到核心线程数时如果还有新的任务需要执行线程池将会再创建新的线程直到达到最大线程数为止。当线程池中的线程数量达到最大值且队列也已满时则会拒绝执行新的任务。 队列容量Queue Capacity指的是线程池中任务队列可以容纳的最大任务数量。当线程池中的线程数量达到核心线程数时如果还有新的任务需要执行线程池将会将这些任务添加到任务队列中。如果任务队列已满则会根据线程池的策略来处理这些被拒绝的任务。 这些参数的设置应该根据应用程序的需求和系统的资源来确定。过小的核心线程数和队列容量可能导致任务长时间排队等待执行而过大的最大线程数则可能会消耗过多的系统资源。 定时任务A1 Component EnableScheduling public class A1 {Async(taskExecutor)Scheduled(cron 0 0/1 * * * ?)public void a1(){for (int i 0; i 1000; i) {System.out.println(我是a1);}} }定时任务A2 Component EnableScheduling public class A2 {Async(taskExecutor)Scheduled(cron 0 0/1 * * * ?)public void a2(){for (int i 0; i 1000; i) {System.out.println(我是a2);}} }加了Async输出结果大概如下 A1和A2多线程交替执行并发 我是a1 我是a2 我是a1 我是a2 我是a1 我是a2 我是a1 我是a2 我是a1 我是a2 ...不加Async输出结果大概如下 先执行完A1才会去执行A2按顺序执行阻塞 我是a1 我是a1 我是a1 我是a1 我是a1 我是a2 我是a2 我是a2 我是a2 我是a2 ...当涉及到设置线程池的核心线程数、最大线程数和队列容量时需要根据具体的应用场景和需求来确定。下面是一些示例 场景一Web 服务器请求处理 假设有一个 Web 服务器需要处理大量的并发请求。在这种情况下可以考虑以下设置 核心线程数根据服务器的负载和处理能力设置一个适当的核心线程数例如设置为 CPU 核心数的两倍。最大线程数根据服务器的资源和性能设置一个合理的最大线程数例如设置为 CPU 核心数的四倍。队列容量如果服务器的处理能力超过了核心线程数和最大线程数可以设置一个适当的队列容量以便将超出处理能力的请求暂存到队列中例如使用一个有界队列。 场景二后台任务处理 假设有一个后台任务需要处理大量的耗时操作比如文件处理、数据导入等。在这种情况下可以考虑以下设置 核心线程数根据系统的负载和任务的数量设置一个适当的核心线程数例如设置为固定值如10个线程。最大线程数根据系统的资源和性能设置一个合理的最大线程数例如设置为20个线程。队列容量如果任务数量超过了核心线程数和最大线程数可以设置一个适当的队列容量以便将超出处理能力的任务暂存到队列中例如使用一个无界队列。 需要根据具体的应用场景和系统要求来灵活调整这些参数。合理设置这些参数可以提高系统的性能和资源利用率避免因为线程过多或过少导致的性能问题或资源浪费。 yml中配置线程池 也可以直接在.yml中配置线程池大小 spring:task:scheduling:# 线程池大小pool:size: 30# 线程名前缀thread-name-prefix: myTask-定时任务A1 Component EnableScheduling EnableAsync public class A1 {AsyncScheduled(cron 0 0/1 * * * ?)public void a1(){for (int i 0; i 1000; i) {System.out.println(我是a1);}} }定时任务A2 Component EnableScheduling EnableAsync public class A2 {AsyncScheduled(cron 0 0/1 * * * ?)public void a2(){for (int i 0; i 1000; i) {System.out.println(我是a2);}} }
http://www.hkea.cn/news/14354990/

相关文章:

  • 用php做的博客网站有哪些网站建设哪里公司好
  • 动漫毕业设计作品网站pc端的移动端网站建设
  • 深圳网站建设服务中心官网灵感网站
  • 外国人做中国英语视频网站深圳汽车网站建设
  • 网站文章列表模板泉州洛江住房和城乡建设局网站
  • 城阳网站建设电话管理咨询公司业务类型
  • 大型网站建设兴田德润优惠广告灯箱设计制作价格
  • 万网服务器网站建设聊城网站建设项目
  • 平台网站建设公司哪家好中文购物网站模板
  • 建立企业网站需要什么番禺大石做网站
  • 作网站流程建房子找哪个网站设计
  • 增城网站建设价格网页设计网站模板素材
  • 深圳网站制作公司售后wordpress 显示 链接深度
  • 做网站站长累吗汕头网站推广找谁
  • 网站建设在线建站网站qq获取
  • 有教做素食的网站吗wordpress读书笔记插件
  • 浦口区城乡建设集团网站作文库网站
  • 自己在网站开发的客户怎么联系上海大型企业名单
  • 网站建设公司推荐万维科技国内十大搜索引擎网站
  • 新网站做seo用ps制作黑色高光网站按钮
  • 建设银行哪个是假网站海口网站建设介绍
  • 在线购物网站的设计平台推广应用
  • 建站公司 phpwindwordpress 树形分类
  • 商丘市做网站c#做的网站怎么上传
  • 烟台优化网站排名什么程序做网站收录好
  • 大兴模版网站建设哪家好大连中小网站建设公司
  • 房产网站建设方案项目书微信公众号做网站卖东西
  • 网站制作计划书模板wordpress 文章数据表
  • 网站上设置返回首页的超链接咋做的seo国外推广软件
  • 芙蓉区乡建设局网站最容易做的网站类型