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

做ppt的网站叫什么软件wordpress上传mp4

做ppt的网站叫什么软件,wordpress上传mp4,做网站空间500m多少钱,网站的结构是什么样的一、介绍 1、介绍 二、原理 三、集成与使用 1、集成方法 &#xff08;1&#xff09;开启 使用以下注解开启 EnableAsync &#xff08;2&#xff09;使用 在需要异步处理的方法上加上 Async 2、返回值 Async注解的方法返回值只能为void或者Future<T>。 &…

一、介绍

1、介绍

二、原理

三、集成与使用

1、集成方法

(1)开启

使用以下注解开启

@EnableAsync

(2)使用

在需要异步处理的方法上加上

@Async
2、返回值
@Async注解的方法返回值只能为void或者Future<T>。

(1)无返回值

(2)有返回值

使用AsyncResult包装下得到Future对象返回;调用处使用get方法获取。

3、demo
(1)初始化线程池

如我初始化了两个,分别在user模块、order模块使用

package com.demo.thread.constant;public class ThreadPoolConstant {public static final String USER_POOL = "userPool";public static final String ORDER_POOL = "orderPool";
}
package com.demo.thread.config;import com.demo.thread.constant.ThreadPoolConstant;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;@Configuration
@EnableAsync
public class ThreadPoolTaskExecutorConfig {private static int CORE_POOL_SIZE = 5;private static int MAX_POOL_SIZE = 10;@Bean(name= ThreadPoolConstant.USER_POOL)public ThreadPoolTaskExecutor userTaskExecutor(){ThreadPoolTaskExecutor poolTaskExecutor = new ThreadPoolTaskExecutor();//线程池维护线程的最少数量poolTaskExecutor.setCorePoolSize(CORE_POOL_SIZE);//线程池维护线程的最大数量poolTaskExecutor.setMaxPoolSize(MAX_POOL_SIZE);//线程池所使用的缓冲队列poolTaskExecutor.setQueueCapacity(200);//线程池维护线程所允许的空闲时间poolTaskExecutor.setKeepAliveSeconds(30000);poolTaskExecutor.setWaitForTasksToCompleteOnShutdown(true);poolTaskExecutor.setBeanName(ThreadPoolConstant.USER_POOL);return poolTaskExecutor;}@Bean(name= ThreadPoolConstant.ORDER_POOL)public ThreadPoolTaskExecutor orderTaskExecutor(){ThreadPoolTaskExecutor poolTaskExecutor = new ThreadPoolTaskExecutor();//线程池维护线程的最少数量poolTaskExecutor.setCorePoolSize(CORE_POOL_SIZE);//线程池维护线程的最大数量poolTaskExecutor.setMaxPoolSize(MAX_POOL_SIZE);//线程池所使用的缓冲队列poolTaskExecutor.setQueueCapacity(200);//线程池维护线程所允许的空闲时间poolTaskExecutor.setKeepAliveSeconds(30000);poolTaskExecutor.setWaitForTasksToCompleteOnShutdown(true);poolTaskExecutor.setBeanName(ThreadPoolConstant.ORDER_POOL);return poolTaskExecutor;}
}
(2)service
package com.demo.thread.service.impl;import com.demo.thread.constant.ThreadPoolConstant;
import com.demo.thread.service.UserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.AsyncResult;
import org.springframework.stereotype.Service;import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Future;@Service("userService")
@Slf4j
public class UserServiceImpl implements UserService {@Override@Async(ThreadPoolConstant.USER_POOL)public void create()  {log.info("user create开始...");try {Thread.sleep(3000);} catch (InterruptedException e) {throw new RuntimeException(e);}log.info("user create结束...");}@Override@Async(ThreadPoolConstant.USER_POOL)public Future<List<String>> query()  {log.info("user query 开始...");try {Thread.sleep(3000);} catch (InterruptedException e) {throw new RuntimeException(e);}List<String> userIds = new ArrayList<>();userIds.add("zs");userIds.add("ls");Future<List<String>> users = new AsyncResult(userIds);log.info("user query 结束...");return users;}
}
(3)controller
package com.demo.thread.controller;import com.demo.thread.service.UserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.List;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;@RestController
@RequestMapping("/test")
@Slf4j
public class UserController {@Autowiredprivate UserService userService;@RequestMapping("/create")public void create() {log.info("测试create开始");userService.create();log.info("测试create结束");}@RequestMapping("/query")public void query() {log.info("测试query开始");Future<List<String>> users = userService.query();log.info("调用query结束");try {List<String> userIds = users.get();log.info("query结果为:{}",userIds);} catch (InterruptedException e) {throw new RuntimeException(e);} catch (ExecutionException e) {throw new RuntimeException(e);}log.info("测试query结束");}
}
(4)启动类
package com.demo.thread;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class ThreadApplicationStart {public static void main(String[] args) {SpringApplication.run(ThreadApplicationStart.class, args);}
}
(5)测试

无返回值:访问localhost:8080/test/create控制台输出:

有返回值:访问localhost:8080/test/query控制台输出:可以看到feture取结果会阻塞主线程,其他则按执行顺序打印

http://www.yayakq.cn/news/519752/

相关文章:

  • 网站pv uv是什么意思允许发外链的网站
  • 怎样注册网站卖东西全国职业生涯规划大赛官网
  • 加强局网站建设报告眉山网站建设哪家好
  • 制作网站建网站商城网站如何做
  • 太原seo网站排名上海网站建设公司怎么样
  • WordPress整站下载器wordpress 下载选择
  • 建个短视频网站网站建设业务活动
  • 化州+网站建设网站设计模板 英文翻译
  • 购物商城网站功能设计花都营销网站建设
  • 手机网站建设的整体流程近期的新闻热点
  • 教人做美食视频网站网站域名域名
  • wordpress 企业网站微信公众号网页如何制作
  • 怎么学网站建设微信网站的建立
  • 做网站模板和服务器是一样的吗无人区高清免费网页直播
  • 营销型网站网站设计安装2个wordpress
  • 榆林市住房和城市建设局网站做一年的网站能赚多少钱
  • 做网站业务员应该了解什么桂林北站到龙脊梯田
  • 南宁网站建设云尚网络零点研究咨询集团官方网站建设
  • 哪里有做杂志的免费模板下载网站wordpress 调用指定文章
  • 昆明航空公司官方网站广西智能网站建设报价
  • 专业彩票网站开发宁波妇科医生
  • WordPress百度快照图片镇江积分优化
  • 常州网站设计湛江公司电话WordPress文件归档
  • 怎么做审核网站国内好点的wordpress主题
  • 建设银行网站登不上公司网络优化方案
  • 番禺电子商务网站建设吉林网站建设公司
  • 漯河网站建设公司天河网站 建设信科网络
  • 怎样做网站的优化工作手机网站平台
  • 网站开发自适应不同分辨率使用爬虫做的网站
  • 成品网站定制给公司做一个网站