首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
多线程
订阅
用户6600037633122
更多收藏集
微信扫码分享
微信
新浪微博
QQ
11篇文章 · 0订阅
【漫画】CAS原理分析!无锁原子类也能解决并发问题!
首先我们再回顾一下原子性问题的原因,参考【漫画】JAVA并发编程 如何解决原子性问题。 两个线程同时把count=0加载到自己的工作内存,线程B先执行count++操作,此时主内存已经变化成了1,但是线程A依旧以为count=0,这是导致问题的根源。 所以解决方案就是:不能让线…
深入理解自旋锁
CAS算法 Compare And Swap , 是一种典型的无锁算法,即在不使用锁的情况下实现多线程之间变量的同步,因为没有锁,因此CAS可以保证线程在没有阻塞的情况下实现,因此也叫做非阻塞同步(Non-blocking Synchronization)。 CAS的实现涉及到…
AQS 都看完了,Condition 原理可不能少!
Object 的监视器方法:wait、notify、notifyAll 应该都不陌生,在多线程使用场景下,必须先使用 synchronized 获取到锁,然后才可以调用 Object 的 wait、notify。 Condition 的使用,相当于用 Lock 替换了 sync…
SpringBoot 如何异步编程,老鸟们都这么玩的!
在SpringBoot的日常开发中,一般都是同步调用的。但实际中有很多场景非常适合使用异步来处理,如:注册新用户,送100个积分;或下单成功,发送push消息等等。
Java并发编程之锁机制之LockSupport工具
在上篇文章《Java并发编程之锁机制之AQS(AbstractQueuedSynchronizer)》中我们了解了整个AQS的内部结构,与其独占式与共享式获取同步状态的实现。但是并没有详细描述线程是如何进行阻塞与唤醒的。我也提到了线程的这些操作都与LockSupport工具类有…
啃透Java并发-LockSupport源码详解
不知道你有没有这样的感觉,在使用JUC中提供的工具类处理并发时,有一种死记硬背的感觉,比如LockSupport应该怎么用,CountDownLatch能干嘛,但并不清楚其实现原理,只知道how不知道why,这种状态有二个比较大的问题。 我们知道JUC看似有很多类,结构错综复杂…
《蹲坑也能进大厂》多线程系列 - 轻松玩转CountDownLatch
CountDownLatch是JUC最常见的工具类,也是面试必问题,无论哪个方面掌握这个工具都是非常必要的
异步编程利器:CompletableFuture详解 |Java 开发实战
我们异步执行一个任务时,一般是用线程池Executor去创建。如果不需要有返回值, 任务实现Runnable接口;如果需要有返回值,任务实现Callable接口,调用Executor的submi
CompletableFuture使用大全,简单易懂
CompletableFuture是高级的多线程功能,支持自定义线程池和系统默认的线程池,是多线程,高并发里面,经常需要用到的比直接创建线程,要简单易用的方法。 CompletableFuture主要是用于异步调用,内部封装了线程池,可以将请求或者处理过程,进行异步处理。创建线…
Java8的CompletableFuture进阶之道
作为Java 8 Concurrency API改进而引入,本文是CompletableFuture类的功能和用例的介绍。同时在Java 9 也有对CompletableFuture有一些改进,之后再进入讲解。 Future异步计算很难操作,通常我们希望将任何计算逻辑视为一系列…