多线程
陈汤姆
一只叫做汤姆的程序员
展开
-
从ReentrantLock的实现看AQS的原理
从ReentrantLock的实现看AQS的原理及应用文章目录从ReentrantLock的实现看AQS的原理及应用前言一、ReentrantLock二、AQS三、源码分析1.void lock方法(获取锁)非公平锁代码实现:公平锁代码实现:2.addWaiter方法(线程加入同步队列操作)3.boolean trylock()方法(尝试获取锁)4.void unlock方法(释放锁)5.cancelAcquire方法(取消节点)总结参考资料前言一、ReentrantLockReen原创 2020-08-26 11:24:58 · 482 阅读 · 0 评论 -
Java8 ConcurrentHashMap详解-从源码分析
前言原创 2020-04-02 23:14:18 · 158 阅读 · 0 评论 -
SpringBoot + Redis 分布式锁:模拟抢单(附实现源码)
import org.springframework.context.annotation.Configuration;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool;import redis.clients.jedis.JedisPoolConfig;import redis.clients.j...原创 2020-04-01 22:05:11 · 1032 阅读 · 3 评论 -
Java并发编程之原子性-Atomic源码详解
1、Atomic中存在Atmomicxxx的类,都是通过CAS来实现原子性的。对于平时适用count++问题,count++并不是线程安全的,所以在多线程情况下,适用count++会出现得到的值并不是我们期望的值。问题如下:所以为了解决此类问题我们需要用到Atomic,例如我们可以适用AtomicInteger来代替count++操作,保证线程安全。例子如下:/** * @a...原创 2020-03-31 16:05:34 · 690 阅读 · 0 评论 -
多线程并发
总结:多线程并发 (一) 了解 Java 虚拟机 - JVM 学习知道了创建一个线程会触发JVM创建一个私有的虚拟机栈、程序计数器,当前的虚拟机栈内存就是当前线程的运行内存,程序计数器就是记录当前线程运行的代码的地址。多线程并发 (二) 了解 Thread 学习了线程的运行状态、线程的创建方式、调度原理等。多线程并发 (三) 锁 synchronized、volatile...转载 2020-01-18 23:14:00 · 2652 阅读 · 0 评论