![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
文章平均质量分 70
如来神掌十八式
这个作者很懒,什么都没留下…
展开
-
Java线程池
线程池原创 2022-10-15 10:23:54 · 203 阅读 · 0 评论 -
自定义线程使用
4原创 2022-08-20 12:54:26 · 131 阅读 · 0 评论 -
springboot自定义线程池日志打印
88原创 2022-07-14 21:42:05 · 2478 阅读 · 0 评论 -
【转载】线程池之ScheduledThreadPoolExecutor详解
2原创 2022-07-10 11:10:25 · 677 阅读 · 0 评论 -
CompletableFuture多线程批量异步处理
CompletableFuture多线程批量异步处理import java.util.ArrayList;import java.util.List;import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.Completa...原创 2022-04-25 22:50:34 · 4597 阅读 · 0 评论 -
AtomicInteger原子类
概述: java从JDK1.5开始提供了java.util.concurrent.atomic包(简称Atomic包), 这个包中的原子操作类提供了一种用法简单,性能高效,线程安全地更新一个变量的方式。 使用原子类,性能高效,线程安全。 AtomicInteger 原子型Int...原创 2022-03-20 13:01:30 · 1241 阅读 · 0 评论 -
【转载】多线程按顺序执行的几种方法
文章介绍4种方法,简单易懂,通过4个demo抛砖引玉。 目录 在子线程中通过join()方法指定顺序 在主线程中通过join()方法指定顺序 通过倒数计时器CountDownLatch实现 通过创建单一化线程池newSingleThreadExecutor()实现 在子线程中通过join()方法指定顺序 通过join()方法使当前线程“阻塞”,等待指定线程执行完毕后继续执行。举例:在线程thread...原创 2022-03-20 12:41:36 · 653 阅读 · 0 评论 -
Springboot注解@Async不生效
今天在做公司项目时,有一个发邮件的需求。所以写了一个发送邮件的方法后来发现发邮件很慢,导致接口响应也很慢。于是我便想到要使用异步调用去处理这个方法。于是我把注解@Async 加到了自己service类下的一个发邮件的一个方法,后来发现并没有生效。 调用处代码: 我在以下两个方法上都试过加上@Async注解 可是都并没有生效 发送邮件代码: 我思考了一下可能应该是因...原创 2022-03-20 12:37:20 · 5751 阅读 · 1 评论 -
【转载】Java 8 的异步编程 CompletableFuture
文章目录 一个例子回顾 Future一个例子走进CompletableFutureCompletableFuture使用场景创建异步任务supplyAsync方法runAsync方法 任务异步回调1. thenRun/thenRunAsync2.thenAccept/...原创 2022-03-20 12:33:05 · 643 阅读 · 0 评论 -
CountDownLatch与CyclicBarrier
文章目录 倒计时器CountDownLatch循环栅栏CyclicBarrierCountDownLatch与CyclicBarrier的比较 倒计时器CountDownLatch 在多线程协作完成业务功能时,有时候需要等待其他多个线程完成任务之后,主线程才能继续...原创 2022-03-20 12:16:35 · 850 阅读 · 0 评论 -
Executors类创建四种常见线程池
文章目录 线程池架构newSingleThreadExecutornewFixedThreadPoolnewCachedThreadPoolnewScheduledThreadPoolExecutors和ThreaPoolExecutor创建线程池的区别两种提交任务的方法ex...原创 2022-03-20 12:12:02 · 2977 阅读 · 1 评论 -
线程池ThreadPoolExecutor
文章目录 为什么要使用线程池线程池详解线程池的创建线程池执行逻辑线程池的关闭线程池的工作原理线程池阻塞队列线程池的饱和策略 如何合理配置线程池参数? 为什么要使用线程池 在实际使用中,线程是很占用系统资源的,如果对线程管理不善很容易导致系统问题。因此,在大多...原创 2022-03-20 12:02:09 · 107 阅读 · 0 评论 -
synchronized锁字符串
一、问题阐述 在日常项目中可能存在需要防止用户数据并发操作的问题,需要对代码块加锁保护。例如:用户输入存数据库,重复数据不存DB;用户操作缓存数据等,这里想尽可能把锁的对象放小,因此通常都是锁用户而不是锁整个类或者代码块;然而在用synchronized(userId)的时候可能会...原创 2022-03-20 11:57:44 · 4639 阅读 · 4 评论 -
Async使用自定义的线程池执行任务
我们使用了spring boot的异步操作,我们使用的是Spring默认的线程池,但是,如果我们想根据项目来定制自己的线程池了,下面就来说说,如何定制线程池! 一、增加配置属性类 package com.chhliu.springboot.async.configuration; import org.springframework.boot.context.properties.Configu...原创 2022-03-20 11:33:04 · 715 阅读 · 0 评论 -
ThreadLocal场景之log日志
1.ThreadLocal 的定义和作用ThreadLocal和Synchonized都用于解决多线程并发访问。但是ThreadLocal与synchronized有本质的区别。Synchronized用于线程间的数据共享,而ThreadLocal则用于线程间的数据隔离。Synchronized是利用锁的机制,使变量或代码块在某一时该只能被一个线程访问。而ThreadLocal为每一个线程都提供了变量的副本,使得每个线程在某一时间访问到的并不是同一个对象,这样就隔离了多个线程对数据的数据共享。而Synch原创 2020-03-15 22:36:09 · 617 阅读 · 0 评论