首页 > 其他分享 >第二章 第三四节 线程池技术以及使用 上

第二章 第三四节 线程池技术以及使用 上

时间:2023-10-20 16:35:14浏览次数:39  
标签:销毁 队列 创建 无界 四节 缓存 线程 第二章

线程池技术介绍

1.线程池的作用

​ 避免重复不断地创建、销毁线程,浪费系统资源

​ PS:线程池可以成一个容器

​ 多线程业务:发短信或者发送邮件(异步任务);请求第三方接口(异步任务);

2.线程池原理

3.线城池的销毁

​ shutDown 等待正在执行任务执行完毕,才会销毁

​ shutDownNow 立即停止所有线程池执行任务销毁

4.线程池的创建

​ 1.直接利用函数创建

​ Executors 创建线程池

​ ThreadPoolExecutor 方法

​ 2.和spring的整合

​ ThreadPoolTaskExecutor

线程池的使用

1.线程池的测试

new ThreadPoolExecutor(mainNm, maxCore, times,timeUnit, BlockingQueue)
    
//mainNm 主线程个数,一般为cpu的两倍
//maxCore 最大线程数量, cpu*4
//times 线程空闲时间
//timeUnit 时间单位
//BlockingQueue 阻塞队列
//队列分类
 // SynchronousQueue; 一个无界的缓存队列,不能指定队列容量
//        ArrayBlockingQueue; 一个有界的缓存队列,可以指定队列容量
//        LinkedBlockingDeque; 无界的缓存队列,可以指定队列容量

标签:销毁,队列,创建,无界,四节,缓存,线程,第二章
From: https://www.cnblogs.com/rushintocloud/p/17777413.html

相关文章

  • 深入理解 Python 虚拟机:进程、线程和协程
    深入理解Python虚拟机:进程、线程和协程在本篇文章当中深入分析在Python当中进程、线程和协程的区别,这三个概念会让人非常迷惑。如果没有深入了解这三者的实现原理,只是看一些文字说明,也很难理解。在本篇文章当中我们将通过分析部分源代码来详细分析一下这三者根本的区别是什......
  • 多线程编程同步:Posix信号量
    信号量的定义IPC是进程间通信(interprocesscommunication)的简称。狭义上,IPC主要用于进程间;广义上,IPC可用于进程间或线程间。Posix消息队列、Posix信号量和Posix共享内存区合称为“PosixIPC”.信号量(semaphore)是一种用于提供不同进程间或一个给定进程的不同线程间同步手段。......
  • Java 多线程例子1 小例子
    学习的张孝祥的《Java就业培训教程》觉得讲的不错,是比较好的入门教程吧。下面是最简单的例子。publicclassThreadDemo{ publicstaticvoidmain(String[]args){ newTestThread().start(); while(true){ System.out.println("main():"+Thread.currentThread().getN......
  • Java 多线程例子2 前台线程(用户线程) 后台线程(守护线程 ) setDaemon
    1,setDaemon(true)后就是后台线程(守护线程),反之就是前台线程(用户线程)2,后台线程和前台线程的区别:在java程序中如果所以的前台线程都已经退出,所有的后台线程自动退出。TestThread为后台线程:publicclassThreadDemo{ publicstaticvoidmain(String[]args){ Threadt=newTes......
  • 线程
    2023.10.191.在java中线程是有分优先等级的,可以用setPriority()设置2.Thread实现了Runnable接口是一个类不是接口3.实现多线程的三种方式,一种是继承Thread类使用此方式就不能继承其他的类了。还有两种是实现Runnable接口或者实现Callable接口......
  • 远程线程注入技术
    一.远程线程注入步骤:获得目标进程句柄方法1:先获得窗口句柄,根据窗口句柄获得进程ID,再根据进程ID获得进程句柄。hwnd=FindWindow("Notepad",NULL);//找到程序窗口句柄if(hwnd==NULL){MessageBox(NULL,"获得窗口句柄错误!","ERROR",MB_OK);......
  • AMD线程撕裂者7000实拍图赏:1+12和你从未见过的1+8
    盼望着,盼望着,AMDZen4架构的新一代线程撕裂者7000系列终于来了!这一次,AMD提供了两种选择:一是面向顶级工作站的线程撕裂者PRO7000WX系列,满血状态,最多96核心192线程、480MB缓存、8通道DDR5内存、128条PCIe5.0通道。二是面向桌面发烧友的线程撕裂者7000X系列,最多64核心128线程、3......
  • GIL全局解释器锁、互斥锁、线程队列、进程池和线程池的使用、多线程爬取网页、协程理
    进程和线程的比较进程的开销比线程的开销大很多进程之间的数据是隔离的,但是,线程之间的数据不隔离多个进程之间的线程数据不共享----->还是让进程通信(IPC)------->进程下的线程也通信了---->队列GIL全局解释器锁(重要理论)Python在设计之初就考虑到要在主循环中,同时只有一......
  • Java有哪些保证原子性的方法?如何保证多线程下i++ 结果正确?什么是原子操作类?
    使用循环原子类,例如AtomicInteger,实现i++原子操作使用juc包下的锁,如ReentrantLock,对i++操作加锁lock.lock()来实现原子性使用synchronized,对i++操作加锁原子操作类当程序更新一个变量时,如果多线程同时更新这个变量,可能得到期望之外的值,比如变量i=1,A线程更新i+1,B线程也更新i+1,经......
  • [Java]Java初学之多线程01
    Intro写完上一篇博客就立刻开始了Java多线程的学习学习这个东西还是得趁热打铁,一两天不学感觉知识要从脑子里流走了(不要啊(≧□≦)ノ)就是这样,这篇文章主要集中在Java多线程的相关内容,可能会分篇写。正文程序(Program)、进程(Process)、线程(Thread)在正式学习内容之前,我觉得先......