首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
多线程开发
订阅
重耳真不卷
更多收藏集
微信扫码分享
微信
新浪微博
QQ
25篇文章 · 0订阅
记一次生产中使用CompletableFuture遇到的坑
在业务开发中为了提升接口速度都会使用到多线程异步编程,在多线程异步编程中使用不当或者不了解其中的原理很容易入坑,本篇文章就是记录了多线程异步编程生产环境使用CompletableFuture遇到的坑。
Java CompletableFuture 异步超时实现探索
JDK 8 是一次重大的版本升级,新增了非常多的特性,其中之一便是 CompletableFuture。自此从 JDK 层面真正意义上的支持了基于事件的异步编程范式。
Java实现生产者-消费者模型
考查Java的并发编程时,手写“生产者-消费者模型”是一个经典问题。有如下几个考点: 本文主要归纳了4种写法,阅读后,最好在白板上练习几遍,检查自己是否掌握。这4种写法或者编程接口不同,或者并发粒度不同,但本质是相同的——都是在使用或实现BlockingQueue。 网上有很多…
Java 并发异步编程,原来十个接口的活,现在只需要一个接口就搞定!
作者:锦成同学\ 来源:juejin.im/post/5d3c46d2f265da1b9163dbce 什么?对你没有听错,也没有看错 ..多线程并发执行任务,取结果归集~~ 不再忧愁…. ##
Java 多线程为啥要有ThreadLocal,怎么用,这篇讲全了!
前面我们学习的线程并发时的同步控制,是为了保证多个线程对共享数据争用时的正确性的。那如果一个操作本身不涉及对共享数据的使用,相反,只是希望变量只能由创建它的线程使用(即线程隔离)就需要到线程本地存储了
聊聊JAVA中的并发工具类
CountDownLatch、CyclicBarrier和Semaphore工具类提供了一种并发流程控制的手段,Exchanger工具类提供了在线程间交换数据的一种方法。
【深入AQS原理】我画了35张图就是为了让你深入 AQS
此文章肝了很久,图片较多,希望大家喜欢。 公众号刚开始运营,希望与您一同成长。 谈到并发,我们不得不说AQS(AbstractQueuedSynchronizer),所谓的AQS即是抽象的队列式的同步器,内部定义了很多锁相关的方法,我们熟知的ReentrantLock、Reen…
图解分析ThreadLocal的原理与应用场景
ThreadLocal这个类想必大家都不陌生,直接翻译为线程本地(变量),我们经常会使用到它来保存一些线程隔离的、全局的变量信息。使用ThreadLocal维护变量时,每个线程都会获得该线程独享一份变量副本。 ThreadLocal比较像是DNF中的一个地下城副本,而每个线程像…
不规范使用ThreadLocal导致的bug,说多了都是泪
有时我们会在一个接口中缓存某些数据到ThreadLocal中,但是我们要意识到,处理请求的这些线程是由tomcat提供的,而tomcat提供的线程都是配置在一个线程池中的。
性能优化之使用LongAdder替换AtomicLong
volatile关键字可以理解为轻量级的synchronized,它的使用不会引起线程上下文的切换和调度,使用成本比synchronized低。但是volatile只保证了可见性,所谓可见性是指:当一线程修改了被volatile修饰的变量时,新值对其他线程来说总是立即可知的。v…