首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
多线程&高并发
订阅
kkwang0202
更多收藏集
微信扫码分享
微信
新浪微博
QQ
10篇文章 · 0订阅
基础篇:异步编程不会?我教你啊!CompletableFuture(JDK1.8)
以前需要异步执行一个任务时,一般是用Thread或者线程池Executor去创建。如果需要返回值,则是调用Executor.submit获取Future。但是多个线程存在依赖组合,我们又能怎么办?可使用同步组件CountDownLatch、CyclicBarrier等;其实有简…
多线程中的上下文切换
双十一前的一个多月,所有的电商相关的系统都在进行压测,不断的优化系统,我们的电商ERP系统也进行了一个多月的压测和优化的过程,在这其中,我们发现了大量的超时报警,通过工具分析,我们发现是cs指标很高,然后分析日志,我们发现有大量wait()相关的Exception,这个时候我们…
并发包下Lock是如何解决原子性问题的(实例讲解)
除了synchronized能解决原子性性问题,Jdk1.5以后,在java.util.concurrent.locks.Lock包下的Lock也能解决原子性问题。 java.util.concurrent.locks.Lock下有一组实现线程同步的接口和类。 Lock是接口,…
并发编程之Semaphore原理与应用
控制并发流程的工具类,作用就是帮助我们程序员更容易的让线程之间合作,让线程之间相互配合来满足业务逻辑。比如让线程A等待线程B执行完毕后再执行等合作策略。 | CyclicBarrier | 线程会等待,直到足够多线程达到了事先规定的数目。一旦达到触发条件,就可以进行下一步的动作…
你用对锁了吗?浅谈 Java “锁” 事
大家好,我是yes。 本来打算继续写消息队列的东西的,但是最近在带新同事,发现新同事对于锁这方面有一些误解,所以今天就来谈谈“锁”事和 Java 中的并发安全容器使用有哪些注意点。 不过在这之前还是得先来盘一盘为什么需要锁这玩意,这得从并发 BUG 的源头说起。 这个问题我 1…
一篇短文带你了解Java线程池
线程是每个Java开发者都绕不开的大山。而线程池更是工作中用得最多,面试也问得最多的知识点。 但很多小伙伴其实对线程池还处于一知半解的状态,不清楚它的核心原理和逻辑,甚至不知道该如何更好地配置线程池参数。接下来咱们就来聊聊,如何更好地驾驭线程池。 了解一个技术,首先要了解它产生…
一时技痒,撸了个动态线程池,源码放Github了
线程池在日常工作中用的还挺多,当需要异步,批量处理一些任务的时候我们会定义一个线程池来处理。 在使用线程池的过程中有一些问题,下面简单介绍下之前遇到的一些问题。 场景一:实现一些批量处理数据的功能,刚开始线程池的核心线程数设的比较小,然后想调整下,只能改完后重启应用。 场景二:…
基础篇:详解锁原理,synchronized、volatile+cas底层实现
悲观锁,每次去请求数据的时候,都认为数据会被抢占更新(悲观的想法);所以每次操作数据时都要先加上锁,其他线程修改数据时就要等待获取锁。适用于写多读少的场景,synchronized就是一种悲观锁 在请求数据时,觉得无人抢占修改。等真正更新数据时,才判断此期间别人有没有修改过(预…
ThreadPoolExecutor是怎么去执行一个任务的?
前面一遍文章 我们看了下FutureTask的源码,知道了怎么样去获取一个任务的返回值,今天我们看下ThreadPoolExecutor。 ThreadPoolExecutor 看名词 我们就可以 看做是ThreadPool 和Executor的结合,大概意思我们也能知道就是线…
如何优雅的使用线程池
线程池不仅在项目中是非常常用的一项技术而且在面试中基本上也是必问的知识点,接下来跟着我一起来巩固一下线程池的相关知识。在了解线程池之前我们先了解一下什么是进程什么是线程 用户下达运行程序的命令以后,就会产生一个进程,同一个程序可以产生多个进程(一对多的关系),以允许同时有多个用…