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

灰色网站怎么做seo郑州做网站的大公

灰色网站怎么做seo,郑州做网站的大公,南漳县建设局网站,南阳网站改版一、线程池的创建方式 方式#xff08;一#xff09;#xff1a;通过构造函数ThreadPoolExecutor()方式创建线程池 步骤1#xff1a;先构建线程池 public class AsyncTaskExecutor {/*** 核心线程数*/private static final int corePoolSize 10;/*** 最大线程数*/priva…一、线程池的创建方式 方式一通过构造函数ThreadPoolExecutor()方式创建线程池 步骤1先构建线程池 public class AsyncTaskExecutor {/*** 核心线程数*/private static final int corePoolSize 10;/*** 最大线程数*/private static final int maxPoolSize 30;/*** 空闲线程回收时间* 空闲线程是指当前线程池中超过了核心线程数之后多余的空闲线程的数量*/private static final int keepAliveTime 100;/*** 任务队列/阻塞队列*/private static final int blockingQueueSize 99999;private static final ThreadPoolExecutor executorPool new ThreadPoolExecutor(corePoolSize,maxPoolSize,keepAliveTime,TimeUnit.MILLISECONDS,new LinkedBlockingQueue(blockingQueueSize),new ThreadFactoryBuilder().setNameFormat(AsyncTaskThread -%d).build(),new ThreadPoolExecutor.CallerRunsPolicy());/*** 异步任务执行** param task*/public static void execute(Runnable task) {executorPool.execute(task);} }步骤2通过实现Runnable接口创建异步任务 Slf4j public class CommonTask implements Runnable {/*** 模块ID*/private Long modelId;/*** 模块名称*/private ModelEnum modelName;/*** 构造方法** param modelId* param modelName*/public CommonTask(Long modelId, ModelEnum modelName) {this.modelId modelId;this.modelName modelName;}Overridepublic void run() {log.info(start to process common task!!!);if (modelId.intValue() ModelEnum.Chinese.getCode()) {String name ModelEnum.Chinese.getValue();log.info(modelID {} modelName {}, modelId, name);} else {modelName ModelEnum.forValue(modelId.intValue());log.info(modelID {} modelName {}, modelId, modelName.getValue());}} }枚举 public enum ModelEnum {Chinese(1, 语文),Math(2, 数学),English(3, 数学);/*** code*/private int code;/*** value*/private String value;/*** 映射结果集*/private static final MapInteger, ModelEnum VALUE_MAP;static {VALUE_MAP new HashMap();for (ModelEnum modelEnum : ModelEnum.values()) {VALUE_MAP.put(modelEnum.code, modelEnum);}}ModelEnum(int code, String value) {this.code code;this.value value;}public int getCode() {return code;}public String getValue() {return value;}/*** 根据code获取枚举实例** param code* return*/public static ModelEnum forValue(int code) {return VALUE_MAP.get(code);}}步骤3验证 //步骤1创建异步任务CommonTask task new CommonTask(1L, ModelEnum.Chinese);//步骤2调用线程池异步执行任务AsyncTaskExecutor.execute(task);log.info(main thread over...);结果如下 2024-05-23 14:53:16.096 INFO 20652 --- [ main] com.example.demo.dao.UserDaoTest : main thread over... 2024-05-23 14:53:16.097 INFO 20652 --- [yncTaskThread-0] com.example.demo.task.CommonTask : start to process common task!!! 2024-05-23 14:53:16.097 INFO 20652 --- [yncTaskThread-0] com.example.demo.task.CommonTask : modelID 1 modelName 语文方式二构建ThreadPoolTaskExecutor线程池将其声明为Bean可以通过注入bean的方式和在方法上使用Async(“asyncTaskExecutor”)这种注解方式使用此线程池 Slf4j Configuration EnableAsync public class TaskExecutor {Value(${async.executor.thread.core_pool_size})private int corePoolSize;Value(${async.executor.thread.max_pool_size})private int maxPoolSize;Value(${async.executor.thread.queue_capacity})private int queueCapacity;Value(${async.executor.thread.name.deal_task})private String taskNamePrefix;/*** 构建线程池 并将其声明为Bean* 方式1可以通过注入的方式使用此线程池* 方式2可以在方法上使用Async(asyncTaskExecutor)这种注解方式使用此线程池** return*/Bean(name asyncTaskExecutor)public Executor asyncTaskExecutor() {log.info(start asyncTaskExecutor...);ThreadPoolTaskExecutor threadPoolTaskExecutor new ThreadPoolTaskExecutor();threadPoolTaskExecutor.setCorePoolSize(corePoolSize);threadPoolTaskExecutor.setMaxPoolSize(maxPoolSize);threadPoolTaskExecutor.setQueueCapacity(queueCapacity);threadPoolTaskExecutor.setThreadNamePrefix(taskNamePrefix);//拒绝策略当前线程数已经达到最大线程数后如何处理新任务//CallerRunsPolicy()不在新线程中执行任务而是返回调用者所在的线程来执行threadPoolTaskExecutor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());threadPoolTaskExecutor.initialize();return threadPoolTaskExecutor;} } 在application.yml中的配置 async:executor:thread:core_pool_size: 10max_pool_size: 10queue_capacity: 99999name:deal_task: DEAL-TASK-使用方式1在方法上使用Async(“asyncTaskExecutor”)这种注解方式使用此线程池 使用方式2通过注入的方式使用此线程池 Slf4j Service public class WorkServiceImpl implements WorkService {Async(asyncTaskExecutor)public void doAsyncTask() throws InterruptedException {Thread.sleep(1000);log.info(do AsyncTask...);} }Slf4j RunWith(SpringRunner.class) SpringBootTest public class UserDaoTest {SqlSession sqlSession;Resourceprivate WorkService workService;Resourceprivate Executor asyncTaskExecutor;Testpublic void test() {try {//方式1在方法上使用Async(asyncTaskExecutor)这种注解方式使用此线程池for (int i 0; i 5; i) {workService.doAsyncTask();}log.info(main Thread over...);//方式2通过注入的方式使用此线程池方便asyncTaskExecutor.execute(() - {log.info(async task is running..);});Thread.sleep(5000);}catch (Exception e) {e.printStackTrace();}} }
http://www.dnsts.com.cn/news/102904.html

相关文章:

  • 网站开发遇到的问题建一个大型网站多少钱
  • 通过wordpress建站wordpress 主题翻译
  • 做网站广告经营者wordpress title优化
  • 可以做网站的域名后缀网站 ca证书怎么做
  • 织梦的网站关键词北京电商公司有哪些
  • 设计师网站知乎ps做登录网站
  • thinkphp官方网站jsp个人网站怎样做
  • django 做网站做网站有前途吗
  • 水果网站策划书邵阳网站建设优化
  • 做视频网站怎么备案申请公司注册流程
  • php网站商城源码营销推广的特点
  • 网站 wap 插件建设网站怎么建立服务器
  • 摄影网站建设策划书什么叫网站备案
  • 网站镜像上传到域名空间做网站和推广
  • 4s店网站建设中小企业网络营销论文
  • 百度 搜索到手机网站对营销网站建设评估及分析
  • 网站建设主要学什么软件郑州网站排名优化公司
  • 微信对接网站可以做301跳转吗乐山建设网站
  • 制作一个网站的费用是多少钱长沙事业单位招聘信息网
  • 网站做301跳转的方法山西省大同市网站建设公司
  • 品牌建设网站例子私域电商软件的直播解决方案
  • net做网站遇到的问题外卖网站开发能多少钱
  • 企业网站建设专业的公司怎么写代码自己制作网站
  • 新乡个人网站建设价格我的长沙app是哪里开发的
  • 重庆网站建设首选承越潍坊企业宣传片制作公司
  • 保山市建设厅网站网站制作的大公司
  • 南京网站设计费用杭州今天查出多少阳性
  • 网站域名设置wordpress模板 物流
  • 阿里云买完域名空间如何做网站医院网站建设预算表
  • 网站建设使页面内容居中自己做的网站怎么嵌入高德地图