
并发编程学习指南
文章平均质量分 75
从基础理论到实际应用,我们将涵盖并发概念、线程安全性、同步与异步操作、锁机制、并发数据结构、并行算法等主题。
Ernest_Feng
技术学习道路上摸爬滚打
展开
-
深入了解Java多线程编程:JVM内存模型与同步机制
多线程编程是当今软件开发中不可避免的话题之一。在Java中,了解JVM内存模型及相关概念对编写正确、高效的多线程代码至关重要。本文将深入探讨JVM内存模型、重排序、内存屏障、happen-before关系、主内存、工作内存以及同步机制,并通过具体案例进行原理分析。原创 2024-01-13 20:11:00 · 601 阅读 · 2 评论 -
经典问题 | 线程打印ABA问题
线程A, B,C三个线程, 当存在竞争的时候, 第一个元素应该打印A, 这个时候打印B的线程进来了, 为了要保证打印ABC是顺序执行的,因此不能让打印B的线程打印.在这个问题中,我们有三个线程,每个线程负责打印一个字符。因此线程携带的字母减去'A'构成了条件, 与计数器对3取模的数值进行比较, 就知道当前线程是否可以打印字母.使用一个共享的计数器, 默认从0开始, 每打印一个元素, 次数+1, 严格按照0,1,2顺序打印ABC。条件2 : 在条件1的基础上, 判断线程携带的元素是否是需要打印的元素即可.原创 2024-01-09 15:01:59 · 424 阅读 · 0 评论 -
dynacmic-tp动态线程池
基于上一个问题, 修改生产环境能修改线程池参数最合适的地方就是配置中心了. 那如何保障能够适配不同类型的配置中心呢?为了更好地管理和监控线程池的运行状况,我们需要一种动态的监控机制,以适应不同框架和应用场景。大家都知道线程池7大参数, 在构建线程池的时候, 怎么确保你设定的参数到了生产一定不会有问题呢?这里, 我们先提出以下一些问题, 这是我想学习dynamic-tp动态线程池的动力.监控线上的线程池情况, 通知如何接入, 比如接入钉钉, 企业, 微信的通知?配置中心配置线程池实例。原创 2023-12-22 15:10:44 · 486 阅读 · 0 评论 -
线程基本使用 | 线程池原理 | 线程生命周期 | 守护线程 讲解
作用AbstractExecutorService 是一个抽象类,实现了 ExecutorService 接口的一部分方法,为自定义线程池提供了一些通用的实现。它位于线程池框架的设计中,为实现自定义的线程池提供了一些基本的模板方法,简化了自定义线程池的操作。这个抽象类提供了一些基本的实现,例如任务提交、任务列表管理、Future 对象的创建等,但对于实际的任务执行逻辑,它仍然依赖于具体的实现类去完成。原创 2023-12-15 15:18:45 · 911 阅读 · 0 评论 -
多线程如何保证线程安全性
如何保证线程安全性.原创 2023-12-04 21:27:01 · 538 阅读 · 0 评论 -
深入理解synchronized关键字| java锁机制
首先,偏向锁适用于短时间内只有一个线程访问的情况,通过偏向锁提供低开销的锁机制。当有其他线程竞争同一锁时,系统可能升级为轻量级锁,此时线程会通过自旋等待锁的释放,避免阻塞线程带来的性能开销。当一个线程第一次获得锁时,会在对象头和栈帧中的锁记录中存储锁偏向的线程ID。本文将深入介绍Java中的锁机制,包括基本的synchronized用法以及在Java SE 1.6中引入的偏向锁和轻量级锁的优化机制。如果成功,线程直接获得锁;在没有竞争的情况下,持有锁的线程再次进入同步块时,无需竞争锁,直接获取。原创 2023-12-06 15:36:26 · 1061 阅读 · 0 评论