![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发
文章平均质量分 66
NO Exception?
分享内容!
展开
-
Thread 生产者-消费者
1.特点 优点:解藕,异步,平衡速度差异 生产者线程:“生产”产品,并把产品放到一个队列里; 消费者线程:“消费”产品。 2.生产者 生产”产品,并把产品放到一个队列里;队列也是有最大容量的。 当达到最大容量,生产者必须停下来,调用wait() public class Producer implements Runnable{ private Queue<Product> queue; private int maxCapacity; public Producer(原创 2021-06-09 15:13:33 · 146 阅读 · 0 评论 -
ThreadLocal、InheritableThreadLocal源码分析
ThreadLocal的使用和实现原理原创 2020-02-27 18:57:54 · 160 阅读 · 0 评论 -
ThreadPoolExecutor 源码解析
ThreadPoolExecutor 源码解析原创 2021-06-08 16:41:30 · 90 阅读 · 0 评论 -
Volatile字段
Java内存模型规定,将所有的变量都存放在主内存中,当线程使用变量时,会把主内存里面的变量复制到自己的工作空间中,线程读写变量时操作的是自己工作内存中的变量。 可以使用volatile来实现内存的可见性。使用synchronized太笨重,因为它会带来线程上下文的切换开销。 volatile确保对一个变量的更新对其他线程马上可见。线程在写入变量时不会把值缓存到寄存器或者其他地方,而是直接刷新到主内存。不能保证操作的原子性。 使用场景: 1.写入变量值不依赖变量的当前值 2.读写变量值没有加锁 不能保证原子性原创 2021-07-19 19:31:18 · 137 阅读 · 0 评论 -
关于 Synchronized和Lock 详解
1.需要掌握的注解字段 Get Post Url Query QueryMap Field FieldMap Path Body Part MulltiPart Header Headers FormUrlEncode retrofit的简单实现: 依赖: implementation 'com.squareup.retrofit2:retrofit:2.5.0' implementation 'com.squareup.retrofit2:converter-gson:2.1.0' 权限: <us原创 2020-05-28 16:38:20 · 794 阅读 · 0 评论