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

上海市建设工程协会网站wordpress建立个人博客

上海市建设工程协会网站,wordpress建立个人博客,网页建站的费用,网页效果图素材1 线程和进程的区别#xff1f;进程#xff1a;进程指正在运行的程序。线程#xff1a;线程是进程中的一个执行单元#xff0c;负责当前进程中程序的执行#xff0c;一个进程中至少有一个线程。同一个进程中的多个线程之间可以并发的执行。2 创建线程有哪几种方式#xf…1 线程和进程的区别进程进程指正在运行的程序。线程线程是进程中的一个执行单元负责当前进程中程序的执行一个进程中至少有一个线程。同一个进程中的多个线程之间可以并发的执行。2 创建线程有哪几种方式创建线程有三种方式继承 Thread 重写 run 方法实现 Runnable 接口实现 Callable 接口。3 runnable和callable的区别3.1相同点都是接口都可以编写多线程程序都采用Thread.start()启动线程3.2不同点Runnable没有返回值Callable可以返回执行结果是个泛型和Future、 FutureTask配合可以用来获取异步执行的结果Callable接口的call()方法允许抛出异常Runnable的run()方法异常只能在内部消化不能往上继续抛注Callalbe接口支持返回执行结果需要调用FutureTask.get()得到此方法会阻塞主进程的继续往下执行如果不调用不会阻塞。4 线程同步的方式线程同步的方式有两种方式1同步代码块方式2同步方法同步代码块: 在代码块声明上 加上synchronizedsynchronized (锁对象) { 可能会产生线程安全问题的代码}同步方法在方法声明上加上synchronized5 线程池线程池主要是管理线程具有如下的优势1降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。2提高响应速度。当任务到达时任务可以不需要等到线程创建就能立即执行。3提高线程的可管理性。线程是稀缺资源如果无限制的创建不仅会消耗系统资源还会降低系统的稳定性使用线程池可以进行统一的分配调优和监控。5.1 线程池的七大参数public ThreadPoolExecutor(int corePoolSize,int maximumPoolSize,long keepAliveTime,TimeUnit unit,BlockingQueueRunnable workQueue,ThreadFactory threadFactory,RejectedExecutionHandler handler) {//... }这 7 个参数分别是corePoolSize核心线程数。是指线程池中长期存活的线程数maximumPoolSize最大线程数。线程池允许创建的最大线程数量当线程池的任务队列满了之后可以创建的最大线程数。keepAliveTime空闲线程存活时间。空闲线程存活时间当线程池中没有任务时会销毁一些线程销毁的线程数maximumPoolSize最大线程数-corePoolSize核心线程数。TimeUnit时间单位。空闲线程存活时间的描述单位BlockingQueue线程池任务队列。线程池存放任务的队列用来存储线程池的所有待执行任务。ThreadFactory创建线程的工厂。线程池创建线程时调用的工厂方法通过此方法可以设置线程的优先级、线程命名规则以及线程类型用户线程还是守护线程等。RejectedExecutionHandler拒绝策略。当线程池的任务超出线程池队列可以存储的最大值之后执行的策略。默认的拒绝策略有以下 4 种AbortPolicy拒绝并抛出异常。CallerRunsPolicy使用当前调用的线程来执行此任务。DiscardOldestPolicy抛弃队列头部最旧的一个任务并执行当前任务。DiscardPolicy忽略并抛弃当前任务。线程池的默认策略是 AbortPolicy 拒绝并抛出异常。6 案例一 创建线程池package com.yty.system.config;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;import java.util.concurrent.Executor; import java.util.concurrent.ThreadPoolExecutor;Configuration public class ExecutorConfig {Bean(taskExecutor)public Executor taskExecutor() {ThreadPoolTaskExecutor taskExecutor new ThreadPoolTaskExecutor();//设置线程池参数信息// 核心线程数taskExecutor.setCorePoolSize(3);// 最大线程数taskExecutor.setMaxPoolSize(4);// 线程队列数量taskExecutor.setQueueCapacity(2);// 空闲线程存活时间秒taskExecutor.setKeepAliveSeconds(60);// 线程名称前缀taskExecutor.setThreadNamePrefix(myExecutor--);// 线程执行完关闭taskExecutor.setWaitForTasksToCompleteOnShutdown(true);taskExecutor.setAwaitTerminationSeconds(60);// 修改拒绝策略为使用当前线程执行taskExecutor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());//初始化线程池taskExecutor.initialize();return taskExecutor;}} 二 使用import com.yty.system.entity.AccountInfo; import com.yty.system.entity.vo.R; import io.swagger.annotations.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.core.task.TaskExecutor; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.web.bind.annotation.*;import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; import java.util.concurrent.CompletableFuture;/*** p* 前端控制器* /p** author yty* since 2022-06-12*/ RestController RequestMapping(/user) Api(tags 用户管理API) public class UserController {Resourceprivate TaskExecutor taskExecutor;GetMapping(listAsync)public R listAsync(int a) {long start System.currentTimeMillis();CompletableFuture[] cf new CompletableFuture[a];for (int i 0; i a; i) {int finalI i;cf[i] CompletableFuture.runAsync(() - {getA(finalI);}, taskExecutor);}// 是否执行完毕CompletableFuture.allOf(cf).join();long end System.currentTimeMillis();String s 总共耗时 (end - start) 毫秒;System.out.println(s);return R.ok(s);}private void getA(int i) {try {System.out.println(--------- i);Thread.sleep(1000L);} catch (Exception e) {e.printStackTrace();}}}
http://www.hkea.cn/news/14483953/

相关文章:

  • 积分网站建设深圳50强外贸公司排名
  • 无法进入建设银行网站活动推广
  • 湛江网站搜索优化期货贵金属网站建设
  • 自己做网站能挣钱吗网站被恶意攻击
  • 电商网站 手续运动服饰网站建设需求分析
  • 网站平面模板WordPress又拍云cdn
  • 做网站的技术哪个简单google浏览器下载
  • 国外工程建筑网站和城乡建设部网站
  • 什么网站可以做设计赚钱吗垂直门户网站建设
  • 黄浦网站建设公司网站上的图文介绍怎么做的
  • 上传文件网站根目录信用卡分销系统开发
  • 免费建设电影网站成都大型网站设计公司
  • 有没有像一起做网店做男装的网站阿里云与wordpress
  • 网站建设所用系统跨境电商具体是做什么的
  • 外贸仿牌网站宁夏建设投资集团公司网站
  • 网站建设需要摊销吗管理咨询包括哪些内容
  • 做门户网站可以用的字体怎么关闭自己公司网站
  • 河南平价的seo整站优化定制建设网站主机可以用吗
  • 做网站销售会问哪些问题有域名怎样做网站
  • 最新企业网站开发和设计软件免费网站重生做军嫂
  • 做网站哪个好服装网站建设网
  • 网站开发待遇怎么样wordpress 微视频主题
  • 深圳建设网站seo 手机广州可信网站认证服务器
  • 永久免费网站建设系统后海做网站公司
  • 网站建设 网站运营品牌设计公司取名
  • 兰州网站优化软件中山市建设工程 交易中心网站
  • 汉中网站建设公司安丘做网站的
  • 网站带app建设西安网站seo公司
  • 国外网站dns在线解析建设vip网站相关视频下载
  • 北京网站制作设计公司排名青岛网站制作专业