首页 > 其他分享 >m2_day06 [线程池]

m2_day06 [线程池]

时间:2024-05-10 23:42:17浏览次数:17  
标签:执行器 Executors t2 day06 t3 线程 当中 m2

课程内容:
  • 线程池的概念

  • 线程池的种类

  • 自定义线程池执行器


线程池的概念
线程池:
所谓线程池 是一种标准的资源池模式

资源池模式就是在用户出现之前提前预留活跃资源
从而在用户出现的第一时间直接满足用户对资源的需求
并且将资源的新建和销毁操作都委托给资源池完成
从而优化用户体验...

假如一个线程的完整执行时间为T
T = t1 + t2 + t3
t1: 在操作系统当中映射一个线程的时间
t2: 执行线程核心逻辑的时间   run()
t3: 在操作系统当中销毁一个线程的时间
如果run()当中代码非常简短 则t2所占T的比例
就会非常小 此时我们会觉得喧宾夺主付出和回报不成比例

  t1               t2         t3
买菜做饭     享受美食   刷锅刷碗
在路上           上课     在路上

线程池的种类
核心类库当中 提供的常用的线程池种类:
Executors.newFixedThreadPool(int);   固定大小 修复后可重用的
Executors.newCachedThreadPool();     缓存机制的
Executors.newSingleThreadExecutor(); 单一实例的
自定义线程池执行器
自己创建线程池执行器 需要多少个参数 各自代表什么含义
5个
1.线程池当中核心线程数量
2.线程池当中最大线程数量
3.保持活着的时间
4.时间单位
5.一个队列(存储排队的线程任务)

(5,20) submit 60

标签:执行器,Executors,t2,day06,t3,线程,当中,m2
From: https://www.cnblogs.com/zhaodenghui33/p/18185526

相关文章

  • m2_day05 [线程]
    课程内容:什么是并发错误?如何解决并发错误?什么是死锁?如何解决死锁?锁池和等待池的区别什么是并发错误?并发错误的概念多个线程共享操作同一份数据的时候线程体当中连续的多行操作未必能够连续执行很可能操作只完成另一部分时间片就突然耗尽此时......
  • m2_day2
    课程内容:搭建开发环境配置环境变量第一个程序HelloWorldJava中的软件包结构搭建开发环境:安装jdkwww.Oracle.comSDK=softwaredevelopmentkits=软件开发工具包JDK=java+SDK=java软件开发工具包JRE=javaruntimeenvironment=java运行环境JD......
  • 理解 iOS 中的多线程编程
    在iOS应用开发中,多线程编程是一项关键技术,可以帮助应用实现更好的性能和响应性。本文将详细解释iOS中的多线程编程,并讨论如何在应用中正确地使用多线程以提高性能和响应性。1.什么是多线程编程?多线程编程是指在一个应用程序中同时执行多个线程(线程是进程中的执行单元),从而实......
  • 操作系统线程和Java线程的状态
    操作系统线程和Java线程的状态  一、操作系统线程的状态  操作系统的线程主要有以下三个状态  1. 就绪状态(ready):线程正在等待使用CPU,经调度程序调用之后进入running状态。  2.执行状态(running):线程正在使用CPU。  3.等待状态(waiting):线程经过等......
  • 如果想得到线程中的反悔呢
    importjava.util.ArrayList;importjava.util.List;importjava.util.concurrent.*;publicclassMain{publicstaticvoidmain(String[]args){intcorePoolSize=5;//核心线程数intmaxPoolSize=10;//最大线程数longkeepAlive......
  • 要获取线程池中任务的返回值,可以使用submit()方法返回的Future对象。你可以通过调用Fu
    importjava.util.concurrent.ArrayBlockingQueue;importjava.util.concurrent.ThreadPoolExecutor;importjava.util.concurrent.TimeUnit;publicclassMain{publicstaticvoidmain(String[]args){//设置线程池参数intcorePoolSize=5;//......
  • Java-线程-线程池
    0.背景参考资料:Java线程池实现原理及其在美团业务中的实践在Java早期,每次创建线程时,都要涉及到线程的创建、销毁以及资源管理,这对于系统的性能和资源利用率是一种浪费。因此,Java提供了线程池的概念,以提高线程的管理效率和性能。资源管理优化:传统的线程创建和销毁需要涉......
  • 国密算法SM2-java实现
    Maven依赖<dependency><groupId>org.bouncycastle</groupId><artifactId>bcprov-jdk15on</artifactId><version>1.56</version></dependency>工具类importjava.math.BigInteger;publicclassUtil{......
  • RR级别-多线程环境下-for update+插入操作包含的间隙锁+插入意向锁引发的死锁问题
    记录selectforupdatemysql死锁问题_执行select...where...forupdate是否会造成死锁(deadlock)-CSDN博客......
  • java 多线程CountDownLatch
     CountDownLatch简介CountDownLatch 是Java中的一个同步工具类,可以用来确保一组线程等待其他线程完成各自工作后再继续执行。CountDownLatch的应用场景CountDownLatch可以被广泛应用于各种多线程协作的场景,例如:主线程等待多个子线程完成后再执行下一步操作。多个子任......