
高并发编程
文章平均质量分 69
Carry-wws
不愧对每一天,做最好的自己,成就最完美的人生,@自己加油
展开
-
12个真实项目实战带你玩转Java并发编程
这篇博客,我会总结如下内容,满满的干货,篇幅可能会很长,做好心理准备 Immutable Object:不可变对象模式:在不引入锁的条件下,能保证访问共享变量时是线程安全的,缺点是会频繁的创建变量。 Guarded Suspension:保护性暂挂模式:将线程间的等待与唤醒规范化 week3 Two-phase Termination:两阶段终止模式:优雅的终止run方法的执行,让其有做一些收尾工作的可能 Promise:承诺模式:能够优雅的让当前线程,获取到另一个线程的原创 2021-09-08 09:46:50 · 2100 阅读 · 2 评论 -
java线程的中断的方式原理分析
虽然本篇是讲解线程的中断方式的,但是我还是想多讲解一个知识点,那就是线程的启动。只有启动才有中断的,我觉得这个线程的启动很有必要讲解的。线程的启动我们知道启动线程,也就是调用 start()方法去启动一个线程,当 run 方法中的代码执行完毕 以后,线程的生命周期也将终止。调用 start 方法的语义是 当前线程告诉 JVM,启动调用 start 方法的线程。但是它的原理我们知道吗?我们就来粗略的看一下吧。线程的启动原理很多同学最早学习线程的时候会比较疑惑,启动一个线程 为什么是调用 sta原创 2020-06-24 23:10:18 · 1211 阅读 · 2 评论 -
AQS的核心原理分析
之前已经写过一篇关于AQS的介绍了,基本概念我就不多逼逼了,我直接把我那篇文章复制过来。后面来根据java的源码分析这个AQS的内部实现。前言:这一部分的基础概念讲解,全部都是我之前的一篇博客:谈谈你对AQS的了解1.写在前面:这篇文章,我们来聊聊面试时一个比较有杀伤力的问题:聊聊你对AQS的理解?之前有同学反馈,去互联网公司面试,面试官聊到并发时就问到了这个问题。当时那位同学内心估计受到了一万点伤害。。。因为首先,很多人可能连AQS是什么都不知道。或者仅仅是听说过AQS这个名词,但是可能连原创 2020-06-21 23:25:17 · 5073 阅读 · 11 评论 -
java多线程原理之--进程与线程的原理分析
想必大家面试应该都会问过这样一个知识点:什么是进程,什么是线程?想必大家可能都会说的一个回答:进程是操作系统资源分配的基本单位,而线程是cpu调度和执行的基本单位。一个应用程序就是一个进程,一个进程可以有多个线程。。。。。。你要是这样回答,遇到一个菜逼面试官可能就混过去了,但是遇到一个资深的大佬,你可能就栽在这个问题上了(哈哈)那我们现在就从深层次的剖析这个问题,让这一个问题你可以在面试官面前,多吹十分钟,哈哈。我们来看下一个简单的计算机结构图吧:至于为啥会出现中间一层内存,可以原创 2020-05-18 20:59:17 · 288 阅读 · 0 评论 -
两种方式实现生产者与消费者模型
1.lock锁的模式package con.carry.并发.生产者消费者模型;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;/** * 实现线程交替加一和减一操...原创 2020-04-15 23:18:55 · 283 阅读 · 0 评论 -
java自旋锁
什么是自旋锁:是指尝试获取锁的线程不会立即阻塞,而是采取循环的方式去尝试获取锁,可以减少线程上下文的切换的消耗,但是有点消耗cpu看懂这个代码需要有一些CAS的基础,可以参考下我的别的文章:https://blog.youkuaiyun.com/oldshaui/article/details/89432726java是实现一个自旋锁的代码如下:package con.carry.并发.l...原创 2020-04-13 23:58:17 · 329 阅读 · 0 评论 -
谈谈你对AQS的了解
前言:今天无意中看到了"中华石衫"大佬的公众号的文章,觉得很不错,就摘录下来了。1.写在前面:这篇文章,我们来聊聊面试时一个比较有杀伤力的问题:聊聊你对AQS的理解?之前有同学反馈,去互联网公司面试,面试官聊到并发时就问到了这个问题。当时那位同学内心估计受到了一万点伤害。。。因为首先,很多人可能连AQS是什么都不知道。或者仅仅是听说过AQS这个名词,但是可能连全称怎么拼写都不知道。更有...原创 2019-10-22 23:08:09 · 7146 阅读 · 18 评论 -
java并发专题绪论
今天突发奇想,想把每一篇博客弄成书的形式,让我能够快速定位到每一篇博客,我决定把博客的分类做到极致,就想书的目录一样,这样的话我就能快速找到我想要复习的博客啦。并发专题的目录如下:java内存模型https://blog.youkuaiyun.com/oldshaui/article/details/102558529 synchronizedhttps://blog.youkuaiyun.com/olds...原创 2019-10-17 23:26:36 · 193 阅读 · 0 评论 -
synchronized
1.synchronized是利用锁的机制来实现同步的锁机制有如下两个特征:互斥性:在同一时间只允许一个线程持有某个对象锁,通过这种特性来实现多线程中的协调机制,这样在同一时间只有一个线程对同步代码块进行访问。互斥性我们往往也叫操作的原子性。可见性:必须确保在锁被释放之前,对共享变量做的修改,对随后获得该锁的另一个线程是可见的(即在获得锁时,应获得最新共享变量的值),否则另一个线程可能...原创 2019-10-16 22:08:28 · 346 阅读 · 0 评论 -
Java JUC并发知识详解
今天夜里没啥事,想把java并发编程常用的JUC知识点都总结一点。我写博客开始的时间是2019/06/10 凌晨4:30,我就想说一句,你们见过凌晨四点的上海吗?预计会写这几个方面:1.谈谈对volatile的理解2.CAS的介绍3.ABA问题4.线程安全的ArrayList的一些列解决方案5.java常见的锁(公/非平锁,可重入锁,自旋锁)6.CountDownLat...原创 2019-06-10 05:16:04 · 896 阅读 · 0 评论 -
java volatile关键字详解
本节目录java内存模型的相关概念 java 并发编程的三个概念 i++问题 深入理解volatile关键字 volatile的应用场景1.java内存模型相关概念大家都知道,计算机在执行程序时,每条指令都是在CPU中执行的,而执行指令过程中,势必涉及到数据的读取和写入。由于程序运行过程中的临时数据是存放在主存(物理内存)当中的,这时就存在一个问题,由于CPU执行速...原创 2019-04-16 22:34:12 · 589 阅读 · 0 评论