多线程
者羽_zb
一步两步,一步两步……
展开
-
ThreadPoolExecutor线程池工具类
import lombok.AccessLevel; import lombok.AllArgsConstructor; import java.util.concurrent.*; import java.util.concurrent.atomic.AtomicInteger; /** * 线程池工具类 */ @AllArgsConstructor(access = AccessLevel.PRIVATE) public class ThreadPoolUtil { /** .原创 2020-12-24 10:52:03 · 1039 阅读 · 0 评论 -
java中的线程池Executor
线程池优点: 降低资源消耗:通过重复利用已创建的线程降低线程创建和销毁造成的消耗 提高响应速度:当任务到达时,任务可以不需要等到线程穿件就能立即执行 提高线程的可管理性:线程时稀缺资源,如果无限制地创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一分配、调优和监控 实现原理: 当向线程池提交一个任务后: 1)线程池判断核心线程池里的线程是否都在执行任务。如果不是,则创建一个新的工作线程来执行任务。如果核心线程池里的线程都在执行任务,则进入下个流程 2)线程池判断工作队列是否原创 2020-12-24 09:02:16 · 105 阅读 · 0 评论 -
java并发工具
semaphore: 功能:限制线程并发的数量 使用场景:数据库连接只有10个,有100个线程需要获取连接,这个时候可以使用semaphore进行限流 方法摘要: 1)acquire():从此信号量获取一个许可,在提供一个许可前一直将线程阻塞,否则线程被中断。 2)release():释放一个许可,将其返回给信号量。 3)availablePermits():返回此信号量中当前可用的许可数。 4)hasQueuedThreads():查询是否有线程正在等...原创 2020-12-23 08:57:29 · 84 阅读 · 0 评论