并发编程
AdamCafe
这个作者很懒,什么都没留下…
展开
-
分布式锁 redis setnx redission
1.什么是reddission限流:原创 2022-02-24 17:51:47 · 518 阅读 · 0 评论 -
狂神说 JUC lock condition 集合类不安全 常用的辅助类 读写锁 阻塞队列 线程池 函数式接口 Stream流式计算 Fork/Join 异步回调 jmm volatile CAS
1.JUC2 Lock锁345678原创 2022-02-20 17:43:19 · 212 阅读 · 0 评论 -
尚桂谷 JUC synchronized lock 多线程编程 集合的线程安全 多线程锁 Callable FutureTask 辅助类 读写锁 阻塞队列 ThreadPool Fork/Join
1.JUC概述2.Lock接口使用lock锁实现;3.多线程编程(Synchronized和Lock)使用synchronized实现多线程编程:package sync;//第一步 创建资源类,定义属性和操作方法public class Share { //初始值 private int number=0; //+1的方法 public synchronized void incr() throws InterruptedExce..原创 2022-02-19 18:29:46 · 3268 阅读 · 0 评论 -
多线程实际使用(代码演示) FutureTask 阻塞队列 LinkedBlockingDeque
1.多个服务接口如何同时调用京东个人信息业务,设计多种信息,需要调用多个接口 。 多个服务接口应该同时调用,串行的话时间太长。这面的代码有弊端。get()拿返回值可能会造成web服务器阻塞解决方案:web服务器只接受request,启动子线程去执行。代码如何实现:如果请求用户量大时:可能依然存在问题(压力到后端服务器)解决方案:后端服务提供批量查询实际代码演示:模拟1w个请求去查询单次调用 性能低下:使用批量调用:先定义个线程池...原创 2022-02-19 12:13:04 · 225 阅读 · 0 评论 -
Java 锁1 悲观锁 乐观锁 公平锁 非公平锁 CAS 自旋锁 上线文切换 Synchronized lock volatile concurrent reentrantLock AQS
1、悲观锁 乐观锁等待:相当于挂起,也就是阻塞 wait() cpu让出时间片给其他线程使用(上下文切换)唤起:notify()2、CAS算法弊端:多次自旋,会占用cpu资源场景1:多次自旋场景2:ABA问题3、自旋锁4、上线文切换线程上下文切换:可以理解为:cpu和内存之间的一次io,消耗系统资源5、Synchronized...原创 2021-08-17 11:23:49 · 151 阅读 · 0 评论 -
并发编程包 java.util.concurrent hashTable concurrentHashMap
1. java.util.concurrent 知识体系hashtable 线程安全,但是效率低concurrentHashMap 多线程环境下,线程安全,默认长度为16,推荐设置初始容量2.hashTable线程安全,但是性能低CAS不涉及到上下文切换。(设计到多线程时,用synchronized锁时,要关闭偏向锁)hashMap:hashMap并发时,可能出现问题,两个线程往entry的同一索引处存值,可能会丢失。hashTable:为解决这个问题,对pu..原创 2022-02-18 23:35:56 · 278 阅读 · 0 评论 -
1并发编程理论
Java 并发编程:核心理论并发编程原创 2021-12-08 09:58:16 · 175 阅读 · 0 评论