![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发编程
文章平均质量分 91
并发编程
玛卡巴咖
程序猿蚂搂啊
展开
-
Java并发线程池原理源码深入分析与调优实战
下来看两个例子:1. 使用多线程跑十万次2. 使用线程池跑十万次可以看出两者简直天壤地别!!!原创 2023-10-25 21:10:07 · 359 阅读 · 0 评论 -
深入理解AQS之ReentrantLock源码分析
深入理解AQS之ReentrantLock源码分析原创 2023-10-13 17:08:57 · 105 阅读 · 0 评论 -
CAS详解和学透面试必问并发安全问题
什么是原子性?相信很多同学在工作中经常使用事务,事务的一大特性就是原子性(事务具有 ACID四大特性),一个事务包含多个操作,这些操作要么全部执行,要么全都不执行。并发里的原子性和原子操作是一样的内涵和概念,假定有两个操作 A和B 都包含多个步骤,如果从执行 A的线程来看,当另一个线程执行B时,要么将B 全部执行完,要么完全不执行 B,执行B的线程看A的操作也是一样的,那么A 和 B对彼此来说是原子的。原创 2023-10-09 19:55:14 · 395 阅读 · 0 评论 -
导致 JVM 内存泄露的 ThreadLocal 详解
JVM 利用设置的Key为弱引用,来避免内存泄露。JVM 利用调用 removegetset方法的时候,回收弱引用。当 ThreadLocal 存储很多Key为null的Entry的时候,而不再去调用remove、 get、set方法,那么将导致内存泄漏。使用。原创 2023-10-08 18:47:08 · 245 阅读 · 0 评论 -
从0开始深入理解并发、线程与等待通知机制(下)
Java 支持多个线程同时访问一个对象或者对象的成员变量,但是多个线程同时访问同一个变量,会导致不可预料的结果。关键字 synchronized可以修饰方法或者以同步块的形式来进行使用,它主要确保多个线程在同一个时刻,只能有一个线程处于方法或者同步块中,它保证了线程对变量访问的可见性和排他性,使多个线程访问同一个变量的结果正确,它又称为。原创 2023-10-07 15:44:25 · 49 阅读 · 0 评论 -
从0开始深入理解并发、线程与等待通知机制(中)
二,一,Java中线程的状态分为61. 初始(NEW):新创建了一个线程对象,但还没有调用start()方法。2. 运行(RUNNABLE)Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行”。线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取 CPU的使用权,此时处于就绪状态(ready就绪状态的线程在获得CPU。原创 2023-10-05 11:17:21 · 103 阅读 · 0 评论 -
从0开始深入理解并发、线程与等待通知机制(上)含大厂面试题
一,基础概念一,基础概念在正式学习 Java的并发编程之前,还有几个并发编程的基础概念我们需要熟悉和学习。进程与线程进程(就是一代代码的执行程序,程序的实例)我们常听说的是应用程序,也就是 app,由指令和数据组成。但是当我们不 运行一个具体的 app时,这些应用程序就是放在磁盘(也包括U盘、远程网络 存储等等)上的一些二进制的代码。一旦我们运行这些应用程序,指令要运行, 数据要读写,就必须将指令加载至 CPU,数据加载至内存。原创 2023-10-04 16:15:16 · 291 阅读 · 0 评论