首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Java多线程并发编程
小贤_
创建于2021-07-01
订阅专栏
Java多线程并发编程
暂无订阅
共8篇文章
创建于2021-07-01
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
异步编程之jdk1.8 CompletableFuture
CompletableFuture 异步编程 优势 无需手工维护线程,没有繁琐的手工维护线程的工作,给任务分配线程的工作也不需要我们关注; 语义更清晰,例如 f3 = f1.thenCombine(f
异步编程之 Future和FutureTask
Future Future接口的几个方法 boolean cancel(boolean mayInterruptIfRunning); 取消未完成的任务,中断执行中的任务 boolean isCanc
原子类:无锁工具类的典范
原子类:无锁工具类的典范 相对于互斥锁的好处是性能的优化,利用CPU的硬件支持,CPU提供了CAS指令(Compare And Swap,即比较并交换)。CAS指令包含了3个参数:共享变量的内存地址A
CountDownLatch和CyclicBarrier控制线程间的步调一致
CountDownLatch和CyclicBarrier控制线程间的步调一致 CountDownLatch ‘线程间可见的计数器’ 不支持循环使用CountDownLatch,每次使用必须重新初始化计
优于ReentrantReadWriterLock的StampedLock
StampedLock 相当于是对读写锁的性能提升;StampedLock支持三种模式:写锁、悲观读锁和乐观读锁。写锁和悲观读锁和ReadWriterLock的读写锁语义一致;区别在于StampedL
ReadWriteLock 实现内存缓存
ReadWriteLock 读多写少场景;缓存;锁升级; 读写锁遵循的规则 允许多个线程同时读共享变量; 只允许一个线程写共享变量; 如果一个写线程正在执行写操作,此时禁止读线程读共享变量。 具体实现
借助Semaphore特性 实现限流器、对象池
Semaphore 一个计数器、一个等待队列、三个方法 init对应创建对象时初始化信号量new Semaphore(size),计数器的值就是限制进入临界资源的线程数; down对应semaphor
等待线程池所有线程执行结束
等待线程池所有线程执行结束 方法一:pool.awaitTermination(..) 方法二:CountDownLatch