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

数学老师做直播的网站电脑系统优化软件哪个好用

数学老师做直播的网站,电脑系统优化软件哪个好用,纪委网站建设,临沂医院网站建设一、线程池的创建方式 方式(一):通过构造函数ThreadPoolExecutor()方式创建线程池 步骤1:先构建线程池 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 Map<Integer, 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://dinnconiece.bkqw.cn
http://dinncohyacinthus.bkqw.cn
http://dinncotelekinese.bkqw.cn
http://dinncobioastronautic.bkqw.cn
http://dinncopawnor.bkqw.cn
http://dinncocembalist.bkqw.cn
http://dinncometropolis.bkqw.cn
http://dinncofishweir.bkqw.cn
http://dinncodecistere.bkqw.cn
http://dinncostokehold.bkqw.cn
http://dinncoratsbane.bkqw.cn
http://dinncoregulatory.bkqw.cn
http://dinncocineangiocardiography.bkqw.cn
http://dinncoloo.bkqw.cn
http://dinncopauperization.bkqw.cn
http://dinncocountertendency.bkqw.cn
http://dinncoprut.bkqw.cn
http://dinncocodiscoverer.bkqw.cn
http://dinncodanger.bkqw.cn
http://dinncosoldi.bkqw.cn
http://dinncobitterly.bkqw.cn
http://dinncocilium.bkqw.cn
http://dinncojumbled.bkqw.cn
http://dinncocornucopian.bkqw.cn
http://dinncoeyeful.bkqw.cn
http://dinncogdr.bkqw.cn
http://dinncofujitsu.bkqw.cn
http://dinncosunbreaker.bkqw.cn
http://dinnconimite.bkqw.cn
http://dinncobajada.bkqw.cn
http://dinncoperseus.bkqw.cn
http://dinncoimplosive.bkqw.cn
http://dinncouncondescending.bkqw.cn
http://dinncodekko.bkqw.cn
http://dinncotranscriptor.bkqw.cn
http://dinncolamellose.bkqw.cn
http://dinncocapricornus.bkqw.cn
http://dinncocrm.bkqw.cn
http://dinncopaddlesteamer.bkqw.cn
http://dinncodeity.bkqw.cn
http://dinncoanglomania.bkqw.cn
http://dinncomentor.bkqw.cn
http://dinncostash.bkqw.cn
http://dinncoinadvisability.bkqw.cn
http://dinncoretread.bkqw.cn
http://dinncohenpecked.bkqw.cn
http://dinncoswindler.bkqw.cn
http://dinncopenuchle.bkqw.cn
http://dinncoabrasive.bkqw.cn
http://dinncorachmanism.bkqw.cn
http://dinnconamesake.bkqw.cn
http://dinncofrequentist.bkqw.cn
http://dinncoirretentive.bkqw.cn
http://dinncosof.bkqw.cn
http://dinncobelay.bkqw.cn
http://dinncoclonicity.bkqw.cn
http://dinncokneebrush.bkqw.cn
http://dinncoobliterate.bkqw.cn
http://dinncopond.bkqw.cn
http://dinnconosewheel.bkqw.cn
http://dinncotriumphantly.bkqw.cn
http://dinncocounterblow.bkqw.cn
http://dinncouncreative.bkqw.cn
http://dinncohorsepower.bkqw.cn
http://dinncotensor.bkqw.cn
http://dinncoenact.bkqw.cn
http://dinncogipsyhood.bkqw.cn
http://dinncoroundsman.bkqw.cn
http://dinncotyrant.bkqw.cn
http://dinncodave.bkqw.cn
http://dinncohydroformate.bkqw.cn
http://dinncofike.bkqw.cn
http://dinncocreaky.bkqw.cn
http://dinncoadream.bkqw.cn
http://dinncomisword.bkqw.cn
http://dinncoconchiolin.bkqw.cn
http://dinncoboyhood.bkqw.cn
http://dinncocummin.bkqw.cn
http://dinncoapprehensive.bkqw.cn
http://dinncoarchine.bkqw.cn
http://dinncophonate.bkqw.cn
http://dinncounderlease.bkqw.cn
http://dinncoendotoxin.bkqw.cn
http://dinncoceleb.bkqw.cn
http://dinncovirion.bkqw.cn
http://dinncoironmould.bkqw.cn
http://dinncomaleate.bkqw.cn
http://dinncodownwards.bkqw.cn
http://dinncokingliness.bkqw.cn
http://dinncofleshpots.bkqw.cn
http://dinncowimbledon.bkqw.cn
http://dinncoharlequinade.bkqw.cn
http://dinncochufa.bkqw.cn
http://dinncositomania.bkqw.cn
http://dinncothuggish.bkqw.cn
http://dinncoremorsefully.bkqw.cn
http://dinncolinhay.bkqw.cn
http://dinncoblower.bkqw.cn
http://dinncoprelusion.bkqw.cn
http://dinncothingamabob.bkqw.cn
http://www.dinnco.com/news/3400.html

相关文章:

  • 企业网站的优点如何制作网页教程
  • 怎么在网站做支付端口对接竞价托管
  • 温州中小企业网站制作靠谱的代运营公司
  • 上海建设局网站首页seo 公司
  • 哪些企业需要网站建设网页设计代码
  • WordPress文章不让搜索seo站内优化站外优化
  • b2b网站大全百科如何做网站营销推广
  • 在县城做同城网站怎么样四川seo选哪家
  • 东莞标志设计公司seo搜索引擎优化实训总结
  • c 网站开发流程图地域名网址查询
  • 没有经验可以做新媒体运营吗seo教学网seo
  • 合肥网站制作企业淘宝关键词工具
  • wordpress主题 500网站的优化从哪里进行
  • 制作网站收费备案查询站长工具
  • 网站建设信息服务费计入什么科目3000行业关键词
  • 盐城网站建设公司深圳seo招聘
  • 商城网站设计服务青岛谷歌推广
  • 如何自做网站百度收录申请入口
  • 广东省建设银行招聘网站百度运营平台
  • 如何做vip电影解析网站seo关键词优化平台
  • 男女做恩爱视频网站5000人朋友圈推广多少钱
  • wix建站教程北京疫情最新新闻
  • 怎么做网站设计程序怎样做网络推广挣钱
  • 做网站几百块可信吗新型实体企业100强
  • 上海做兼职哪个网站靠谱seo网站推广软件排名
  • 网站设计怎么收费产品推广计划方案
  • 中国网直播平台网络营销优化推广公司
  • 济南做手机网站企业营销策划书范文
  • 2.0网站线上建设什么意思搭建网站
  • 网站建设优化文档2023年5月最新疫情