
并发
文章平均质量分 93
邋遢道
一个想过得更好的码农
展开
-
java并发编程 BlockingQueue-阻塞队列(七)
阻塞队列介绍及常用实现原创 2022-09-22 12:02:35 · 488 阅读 · 0 评论 -
java并发编程 深入理解AQS及相关实现(六)
AbstractQueuedSynchronizer先对AQS的各种特点有个印象,后面执行流程讲解完了再回来对应一下就能理解了什么是AQS?字面意思理解:抽象队列同步器,是一个抽象同步框架java中大多数同步器如Lock,Latch,Barrier等,都是基于AQS框架来实现的共同行为如:等待队列、条件队列、独占获取、共享获取等,也都是基于AQS实现实现方式:1.维护一...原创 2022-04-12 13:22:10 · 660 阅读 · 0 评论 -
java并发编程 synchronized深入理解及锁升级过程(五)
内存模型的安全性问题在并发安全第一章我们就聊到过并发的三大特性,可见,有序及原子性,今天我们还是继续来聊聊关于原子性及其中的一种解决方案 synchronized先看一个例子,使用两个线程对一个数分别进行自增自减操作 private static int counter = 0; public static void main(String[] args) throws InterruptedException { Thread t1 = new Thread((..原创 2022-03-17 15:17:20 · 306 阅读 · 0 评论 -
spring cloud alibaba 完整实现(六)redis实现分布式锁
redis实现分布式锁及缓存常见问题的理解与解决方案原创 2022-03-15 17:17:00 · 2692 阅读 · 1 评论 -
java并发编程 原子类Atomic及CAS详解(四)
原子类Atomic前面我们提到过,多线程的数据操作,如i++是不具备原子性的如:我也提到过 volatile特性可见,原子,有序性那么我们看下面的代码发现即使使用了volatile,结果依然是没有达到我们的预期。那么肯定有同学就说了,volatile不保证原子性,这个说法其实并不准确,我在并发编程第一章也提到过:对任意单个volatile变量的读/写具有原子性,但类似于volatile++这种复合操作不具有原子性要解决这个问题的方法有很多,如synchroni...原创 2022-01-25 16:20:21 · 630 阅读 · 0 评论 -
java并发编程 线程池理解及使用(三)
线程池定义 上一章我们了解了线程的定义及使用,java使用的是内核级线程,线程的创建,销毁及上下文切换是非常消耗内核资源,如果是一个简单的dome,那么我们使用线程只需要使用 new Thread创建线程使用没有问题,但是如果是生产环境,要保证我们的程序能够长期稳定运行就需要线程池,线程池其实就可以理解为多个线程的组合管理,设计理念和我们数据库的连接池一样的我们通过一个场景来了解:一个web应用,服务器会接收请求并处理响应到客户端,要保证各个请求之间独立访问,我们...原创 2022-01-13 17:57:16 · 625 阅读 · 0 评论 -
java并发编程- java线程深入理解(二)
线程线程和进程进程:1.当一个程序被运行,从磁盘加载这个程序的代码至内存,这时就开启了一个进程2.进程可以理解为一个程序的实例,可以又多个(比如记事本,浏览器多开)也可以只有一个(比如360,电脑管家)3.操作系统会以进程为单位,分配系统资源(CPU时间片、内存等资源),进程是 资源分配的最小单位。 线程...原创 2021-12-30 14:57:08 · 382 阅读 · 0 评论 -
java并发编程-JMM及并发特性(一)
前言 前面已经把mysql 和 jvm相关知识做了一遍复习与梳理。这一章开始就开始java并发编程的知识记录与讲解,并发编程相对前面的内容,会更复杂,更难一些。我也梳理了很久的一个顺序以及需要说明的内容。不过没关系,付出总是有回报的,学习能够让自己更加强大。希望在学习完整个java并发编程后,能在工作和学习中有所帮助原创 2021-12-28 16:23:28 · 425 阅读 · 0 评论