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

网站建设方案网络营销是什么专业类别

网站建设方案,网络营销是什么专业类别,企业校园网站建设,公司的网站建设价格低1.1 线程: 线程就是进程中的单个顺序控制流,也可以理解成是一条执行路径 单线程:一个进程中包含一个顺序控制流(一条执行路径) 多线程:一个进程中包含多个顺序控制流(多条执行路径&#xff0…

1.1  线程:
线程就是进程中的单个顺序控制流,也可以理解成是一条执行路径

单线程:一个进程中包含一个顺序控制流(一条执行路径)

多线程:一个进程中包含多个顺序控制流(多条执行路径)

在java语言中:
 线程A和线程B,堆内存和方法区内存共享。
 但是栈内存独立,一个线程一个栈。

假设启动10个线程,会有10个栈空间,每个栈和每个栈之间,互不干扰,各自执行各自的,这就是多线程并发。

java中之所以有多线程机制,目的就是为了提高程序的处理效率。

对于单核的CPU来说,不能够做到真正的多线程并发,但是可以做到给人一种“多线程并发”的感觉。对于单核的CPU来说,在某一个时间点上实际上只能处理一件事情,但是由于CPU的处理速度极快,多个线程之间频繁切换执行,跟人来的感觉是多个事情同时在做。

 1.2 线程的生命周期

1.3 线程池

        线程池可以看做是线程的集合。它的工作主要是控制运行的线程的数量,处理过程中将任务放入队列,然后在线程创建后 启动这些任务,如果线程数量超过了最大数量超出数量的线程排队等候,等其它线程执行完毕, 再从队列中取出任务来执行。他的主要特点为:线程复用;控制最大并发数;管理线程。

1.4 为什么使用线程池

        使用线程池最大的原因就是可以根据系统的需求和硬件环境灵活的控制线程的数量,且可以对所有的线程进行统一的管理和控制,从而提高系统的运行效率降低系统运行压力;当然了,使用线程池的原因不仅仅只有这些,我们可以从线程池自身的优点上来进一步了解线程池的好处。(1)线程和任务分离,提升线程的重用性。

(2)控制线程的并发数量,降低服务器压力,统一管理所有的线程。

(3)提升系统的响应速度,假如创建线程用的时间为T1,执行任务用的时间为T2,销毁线程用的时间为T3,那么使用线程就免去了T1和T3的时间。

1.5 线程池的应用场景

(1)商品秒杀
(2)云盘文件上传下载
(3)12306 网上购票系统

总之,只要是有并发的地方、任务量大或者小、每个任务执行时间长或短的都可以使用线程池,只不过在使用线程池的时候,注意下设置合理的线程池大小即可;

2.1 实现方式 (springboot实现多线程)

1. 自定义线程池配置,我自己的项目在没有充分的把握情况下一般不修改手脚架的配置,避免出现不明原因。加上我们经理之前也教我,能不修改别人的代码,尽量不修改别人的代码,因为你不确定别人是如何调用的。


/*** xxx业务专用的线程池配置类*/
@Configuration
public class TalentIotThreadConfig  {/*** ThreadPoolTaskExecutor的处理流程* 当池子大小小于corePoolSize,就新建线程,并处理请求* 当池子大小等于corePoolSize,把请求放入workQueue中,池子里的空闲线程就去workQueue中取任务并处理* 当workQueue放不下任务时,就新建线程放入线程池,并处理请求,如果池子大小撑到了maximumPoolSize,就用RejectedExecutionHandler来做拒绝处理* 当池子的线程数大于corePoolSize时,多余的线程会等待keepAliveTime长时间,如果无请求可处理就自行销毁** @return*/@Bean("TalentIotThread")public ThreadPoolTaskExecutor  getAsyncExecutor() {ThreadPoolTaskExecutor tp = new ThreadPoolTaskExecutor();//设置核心线程数tp.setCorePoolSize(10);//设置最大线程数tp.setMaxPoolSize(100);//线程使用的缓冲队列tp.setQueueCapacity(10);//设置程序关闭时要等待线程全部执行完tp.setWaitForTasksToCompleteOnShutdown(true);//设置等待时间,超过等待时间后立即停止tp.setAwaitTerminationSeconds(60);//线程名称前缀tp.setThreadNamePrefix("talent-iot-task-");//初始化线程tp.initialize();return tp;}}

2. 调用,ThreadPoolExecutor它的顶级父类是Executor接口,只包含了一个方法——execute,这个方法也就是线程池的“执行”。


public class IotTimer {//通过注解引入配置@Resource(name = "TalentIotThread")private Executor executor;@Scheduled(cron = "0 */2 * * * ?")void talIotDataShare() {for (TalIotDateShare iotDateShare : shareList) {executor.execute(() -> {// 业务代码                 });}}}

http://www.mmbaike.com/news/64581.html

相关文章:

  • 湖南网站建设哪家专业手机百度下载安装
  • cdn 动态网站 加速张北网站seo
  • wordpress docseo外包公司多吗
  • 杭州设计 公司 网站百度指数在哪里看
  • 网站优化推广seo怎么开发网站
  • 网站出现风险如何处理芭嘞seo
  • crm免费永久使用北京网站优化策略
  • 如何把网站做的好看网络营销的目标
  • 长春做网站设计黄页网站推广公司
  • 找建设项目的网站营销课程培训都有哪些
  • wordpress手机站h5优化开发一个小程序一般需要多少钱呢
  • 买域名去哪个网站刷关键词排名seo软件软件
  • 淄博政府做网站哪家好如何建立网上销售平台
  • CSS3网站开发最新疫情19个城市封城
  • 网站服务器托管哪个平台推广效果好
  • 保定 营销型网站建设南宁seo做法哪家好
  • 网站与客户端的区别吗山西疫情最新情况
  • 湛江宇锋网站建设嘉兴seo网络推广
  • 用户界面设计与制作南宁网站seo
  • 回龙观手机网站开发服务外贸软件
  • 成都住建局官网站首页广东省各城市疫情搜索高峰进度
  • 做网站干嘛百度网讯科技有限公司官网
  • 怎么制作自己的微信小程序湘潭seo优化
  • 网站个性化网站优化排名方法有哪些
  • 免费网站建设哪个好免费做做网站
  • 泰安最好的网站建设公司百度百度地图
  • B2C网站开发工程师招聘郑州网站开发公司
  • 苏州无锡市住房和城乡建设局网站上海百度推广电话客服
  • seo做的最好的十个网站推广赚佣金
  • 没有网站怎么做cpa赚钱广告营销是做什么的