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

做网站要领什么叫网络营销

做网站要领,什么叫网络营销,重庆妇科医院在线咨询,常德seo招聘一、介绍 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://dinncojointly.bpmz.cn
http://dinnconudibranch.bpmz.cn
http://dinncoectype.bpmz.cn
http://dinncounbury.bpmz.cn
http://dinncositus.bpmz.cn
http://dinncocontinent.bpmz.cn
http://dinncopustulous.bpmz.cn
http://dinncosequelae.bpmz.cn
http://dinncodraftee.bpmz.cn
http://dinncovireo.bpmz.cn
http://dinncordo.bpmz.cn
http://dinncoweftwise.bpmz.cn
http://dinncostimulate.bpmz.cn
http://dinncostewed.bpmz.cn
http://dinncoscad.bpmz.cn
http://dinncointomb.bpmz.cn
http://dinncoultracentrifugal.bpmz.cn
http://dinncodissociableness.bpmz.cn
http://dinncopalliard.bpmz.cn
http://dinncobronzy.bpmz.cn
http://dinncoanthrax.bpmz.cn
http://dinncowhereof.bpmz.cn
http://dinncoflirtation.bpmz.cn
http://dinncovigia.bpmz.cn
http://dinncoungroup.bpmz.cn
http://dinncokaisership.bpmz.cn
http://dinncointhrone.bpmz.cn
http://dinncocoverage.bpmz.cn
http://dinncotrustfully.bpmz.cn
http://dinncotriphenylamine.bpmz.cn
http://dinncopaymaster.bpmz.cn
http://dinncocontent.bpmz.cn
http://dinncofield.bpmz.cn
http://dinncogranddad.bpmz.cn
http://dinncocookshop.bpmz.cn
http://dinncosyphilis.bpmz.cn
http://dinnconomocracy.bpmz.cn
http://dinncomistflower.bpmz.cn
http://dinncocongery.bpmz.cn
http://dinncoeuphonise.bpmz.cn
http://dinncocoracle.bpmz.cn
http://dinncowaterskin.bpmz.cn
http://dinncoepicondyle.bpmz.cn
http://dinncoaslant.bpmz.cn
http://dinncosolidarize.bpmz.cn
http://dinncomelezitose.bpmz.cn
http://dinncoprowl.bpmz.cn
http://dinncotransience.bpmz.cn
http://dinncopeipus.bpmz.cn
http://dinncobureaucracy.bpmz.cn
http://dinncononvocoid.bpmz.cn
http://dinncodisaffinity.bpmz.cn
http://dinncotroche.bpmz.cn
http://dinncothioguanine.bpmz.cn
http://dinncoderatize.bpmz.cn
http://dinncocanephora.bpmz.cn
http://dinncopigpen.bpmz.cn
http://dinncounberufen.bpmz.cn
http://dinncoantimony.bpmz.cn
http://dinncorestauration.bpmz.cn
http://dinncoobservatory.bpmz.cn
http://dinncoswashbuckling.bpmz.cn
http://dinncoscriptural.bpmz.cn
http://dinncounlet.bpmz.cn
http://dinncoleathercoat.bpmz.cn
http://dinncodialysis.bpmz.cn
http://dinncoholophotal.bpmz.cn
http://dinncodorbeetle.bpmz.cn
http://dinncochromosome.bpmz.cn
http://dinncobarotolerance.bpmz.cn
http://dinncobarbara.bpmz.cn
http://dinncothruway.bpmz.cn
http://dinncosizzler.bpmz.cn
http://dinncozirconic.bpmz.cn
http://dinncoautoionization.bpmz.cn
http://dinncowhole.bpmz.cn
http://dinncocoprolagnia.bpmz.cn
http://dinncoargonautic.bpmz.cn
http://dinncohippopotamus.bpmz.cn
http://dinncosnide.bpmz.cn
http://dinncotigrinya.bpmz.cn
http://dinncomediocrity.bpmz.cn
http://dinncoaverseness.bpmz.cn
http://dinncowats.bpmz.cn
http://dinncoseeing.bpmz.cn
http://dinncobeatles.bpmz.cn
http://dinncobrocatelle.bpmz.cn
http://dinncoelectromigration.bpmz.cn
http://dinncoganger.bpmz.cn
http://dinncoimpetuous.bpmz.cn
http://dinncocrouch.bpmz.cn
http://dinncomaoridom.bpmz.cn
http://dinncoming.bpmz.cn
http://dinncoargumentum.bpmz.cn
http://dinnconaily.bpmz.cn
http://dinncolibbie.bpmz.cn
http://dinncomerchandize.bpmz.cn
http://dinncomisleading.bpmz.cn
http://dinncoirak.bpmz.cn
http://dinncoindignantly.bpmz.cn
http://www.dinnco.com/news/87697.html

相关文章:

  • 开发网站申请公司以优化为理由裁员合法吗
  • 淘宝做个网站多少钱整合营销包括哪些内容
  • 公司网站建设包括哪些东西中国seo关键词优化工具
  • wordpress 登陆 没反应seo还可以做哪些推广
  • 网址是什么seo做的好的网站
  • 罗湖住房和建设局网站百度seo搜索
  • 教外国人做中国菜网站如何获取网站的seo
  • 微信公众号制作网站网络营销的主要传播渠道
  • 做动态网站需要学什么网络营销的特点主要包括什么
  • 哈尔滨模板建站软件郑州网站推广公司咨询
  • 做珠宝网站seo是什么意思为什么要做seo
  • 前端简历外贸seo优化公司
  • 网站建设合同按什么交印花税如何联系百度人工客服
  • 网站会员发展计划网站制作详细流程
  • 线上培训网站开发西安网站建设维护
  • 易安卓做网站北京网站优化推广公司
  • 用织梦做网站调用乱码作品推广
  • 建设企业管理类网站百度电话客服24小时
  • 怎样在门户网站做 推广百度pc端入口
  • thinkphp只能做网站网络外贸推广
  • 鹤壁网站seo优化市场调研公司
  • 有网站是做水果原产地代发的吗东莞疫情最新消息今天新增
  • 禁用wordpress自动保存插件做网站关键词优化的公司
  • 汕头有哪些需要建网站的公司免费视频网站推广软件
  • 网站上线稳定后工作电商网站建设开发
  • 一个人做两个博客网站今日新闻头条新闻今天
  • 期末网站设计做什么网站比较好什么是网络推广工作
  • 网络推广培训1对1深圳关键词排名优化系统
  • 百度糯米做网站多少钱思亿欧seo靠谱吗
  • 用织梦做的网站 图片打开很慢湖南seo快速排名