程池

SpringBoot:异步开发之异步调用

前言除了异步请求,一般上我们用的比较多的应该是异步调用。通常在开发过程中,会遇到一个方法是和实际业务无关的,没有紧密性的。比如记录日志信息等业务。这个时候正常就是启一个新线程去做一些业务处理,让主线程异步的执行其他业务。所以,本章节重点说下在SpringBoot中如何进行异步调用及其相关知识和注意点。 何为异步调用 说异步调用前,我们说说它对应的同步调用。...

Java-多线程第四篇线程池

1、什么是线程池。     线程池在系统启动的时候即创建大量的空闲的线程,程序将一个Runnable对象或者Callable对象传给线程池,线程池就会启动一个线程来执行它们的run()或者call()方法,当run()或者call()方法执行结束后,该线程并不会死亡,而是再次返回线程池称为空闲状态,等待执行下一个Runable对象的run()或者call(...

Semaphore 与ThreadPoolExecutor 的使用

1、 Semaphore 信号量  (阻塞) 优点:可以控制线程的数量,不会超出线程范围 缺点:当线程死锁时,永远没法释放,导致一直阻塞 在java中,提供了信号量Semaphore的支持。 Semaphore类是一个计数信号量,必须由获取它的线程释放, 通常用于限制可以访问某些资源(物理或逻辑的)线程数目。 一个信号量有且仅有3种操作,且它们全部是原子的...

并发编程-线程池(二)线程池回收线程

【1】https://blog.csdn.net/u013256816/article/details/109213183   面试 鹅厂 的时候,问到了 线程池如何销毁线程,这题答的不好。   这个问题考察的是对线程池的理解,在既然了解了线程池在什么时候创建线程。   那么也要了解线程池在不同情况是如何回收线程,什么时候回收,怎么回收。 一、线程池状态和...