![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发编程
文章平均质量分 92
一条行走的鱼
昨天是段历史,明天是个谜团,今天是天赐的礼物,好好珍惜每一天。
展开
-
并发编程-11线程池详解
线程池大家或多或少在项目中进行使用,可以帮助我们提高系统的性能,另一方面也可以帮我们我们管理系统的线程资源,那么它的核心参数的作用,线程复用的原理也是值得我们去学习的,本篇我们从源码分析去探索线程池的底层奥秘。原创 2024-07-13 15:22:03 · 600 阅读 · 0 评论 -
并发编程-10阻塞队列BlockingQueue
使用线程池的肯定对阻塞队列的肯定不陌生,阻塞队列的的阻塞功能是如何实现的?常见的阻塞队列和他们的使用场景是哪些?在项目中我们应该如何选择合适的阻塞队列呢?本篇将从源码开始分析各个阻塞队列的底层数据结构和原理,这样更容易让我们在系统中选择合适的阻塞队列!原创 2024-07-13 15:18:53 · 440 阅读 · 0 评论 -
并发编程-09之ReentrantReadWriteLock
当在读多写少的场景下,我们使用独占锁无疑肯定会对我们的系统QPS有影响,那么JUC提供了一个适用于读多写少的场景,它就是读写锁-ReentrantReadWriteLock,所以本篇将从源码分析它为什么可以实现读读不互斥、读写互斥、写写互斥,以及如何通过积累AQS实现读写状态的保存原创 2024-07-13 15:12:44 · 489 阅读 · 0 评论 -
并发编程-08之CyclicBarrier
CyclicBarrier字面意思回环栅栏(循环屏障),通过它可以实现让一组线程等待至某个状态(屏障点)之后再全部同时执行。叫做回环是因为当所有等待线程都被释放以后,CyclicBarrier可以被重用,本章会从源码分析它为什么可以让一组线程进行协作,以及重置的原理原创 2024-07-13 15:08:25 · 946 阅读 · 0 评论 -
并发编程-07之CountDownLatch
当我们在一个需要多线程协作的场景下,比如分批处理数据,数据汇总的场景下,我们可以使用JUC的一个线程协作神器CountDownLatch进行开发,CountDownLatch可以运行一个线程等待其他几个线程执行完毕任务,得到其他线程执行的结果再进行自己的任务,本篇将探讨它的底层原理原创 2024-07-13 15:04:48 · 873 阅读 · 0 评论 -
并发编程-06之Semaphore
限流是我们系统在上线期间高并发的情况下很常见的场景,JUC包也也有一个限流神器Semaphore,可以控制我们的并发线程是数量,那么它的底层原理是什么?我们一起从这篇文章开始进行探索吧。原创 2024-07-13 15:00:47 · 606 阅读 · 0 评论 -
并发编程-05AQS原理
juc'包中的大多数同步器实现都是围绕着共同的基础行为,比如等待队列、条件队列、独占获取、共享获取等,而这些行为的抽象就是基于 AbstractQueuedSynchronizer(简称AQS)实现的,本章就基于AQS来,通过ReentrantLock同步锁讲解AQS的视线原理原创 2024-07-07 17:16:10 · 764 阅读 · 0 评论 -
并发编程-04synchronized原理
本篇文章主要介绍java同步锁synchronized关键字的使用、底层原理、以及jvm对synchronized关键字的相关优化原创 2024-06-25 23:58:33 · 815 阅读 · 0 评论 -
并发编程-01JMM和并发三大特性
本篇主要介绍和大家一块简单认识下多线程的一些术语、以及并发的三大特性的理解、java内存模型的介绍以及volatile关键字的保证线程可见性和有序性的原理原创 2024-06-25 11:06:07 · 742 阅读 · 0 评论 -
并发编程-02深入理解Java线程
本章主要介绍进程、线程的概念和区别、线程的调度方法、java线程的创建方法和原理等,有了这些基础对于下边并发编程的知识理解起来就更容易原创 2024-06-25 20:20:19 · 507 阅读 · 0 评论 -
从操作系统层面分析Java内存模型JMM和三大特性
关于多线程并发,大家肯定对并发的三大特性原子性,有序性,可见性有所了解,但是JVM是如何保证三大特性的呢?一起随着读者探索java内存模型JMM吧原创 2023-11-10 13:55:13 · 115 阅读 · 0 评论