
【并发编程】
Concurrent-prog
Coinker
世界上只有一种真正的英雄主义,那就是在认清生活真相之后依然热爱生活
——罗曼罗兰
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
秒杀项目思路整理
1、商品预热 因为秒杀的商品需要存入Redis中,所以需要提前将商品信息存入Redis,而不是初次有用户访问时在去查Redis。 思路:当项目启动时,执行查询秒杀信息业务。这里用到了 @PostConstruct注解,其是随着Servlet生命周期进行的。参考文章1 @PostConstruct public void init() throws Exception { ResultGeekQ<List<GoodsVo>> goodsListR =原创 2020-05-13 14:55:02 · 599 阅读 · 0 评论 -
ThreaLocal的应用之ContextUtil
说明: ThreadLocal必须new一个对象自己使用,如果使用共享变量不能解决线程安全的问题, 它并不是为了解决线程安全而设计的,也解决不了,使用它只是为了在同一线程中传递变量 下面来看一下这个工具类: public enum ContextUtil { INSTANCE; private final static ThreadLocal<Map<String,O...原创 2020-03-26 16:43:14 · 431 阅读 · 0 评论 -
并发编程之 wait()为什么要处于while循环中?
我们不妨来看一下情景: 队列中被添加了一个元素,A,B线程被notifyAll()唤醒,可以取元素. 我们来从代码分析: 若用if: 1 synchronized (monitor) { 2 // 判断条件谓词是否得到满足 3 if(queue.IsEmpty()) { 4 // 等待唤醒 5 monitor.wa...原创 2019-12-15 11:53:12 · 4201 阅读 · 7 评论 -
ThreadLocal详解
目录 定义: 使用 使用场景: ThreadLocal的实现原理: 注意: 源码分析: initialValue(): set(T value): get(): ThreadLocalMap: 面试问题: ThreadLocalMap如何保证线程安全? ThreadLocal ThreadLocalMap中的Key到底存了什么? ...原创 2019-12-12 19:05:18 · 194 阅读 · 0 评论 -
并发编程之___请谈谈你对volatile的理解?
三个特性:volatile是JVM提供的轻量级线程同步机制。 可见性 根据JMM模型,两个线程同时操作同一个变量时,当一个线程对其进行修改后,那么可以保证另一个线程可见。 JMM概念: JMM本身是一种抽象的概念,并不真实存在的,它描述的是一组规则或规范,通过这组规范定义程序中各个变量(包括实例字段,静态字段,和构成数组对象的元素...原创 2019-10-29 17:45:13 · 198 阅读 · 0 评论