![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发编程
文章平均质量分 97
完美的工程学
多读书多看报,少吃零食多睡觉。
展开
-
【并发编程】Future使用教程以及原理
Future使用教程以及原理Future阻塞等待模式的示意图:1. 使用教程1.1 获取返回值使用JUC提供的Future可以获取线程的返回值。定义一个Callable类型的任务,该任务实现call()方法,并且在call()方法中返回值。Callable本身是一个接口并且只提供了call()方法,类似于Runnable接口,其本身并不能执行,需要将其封装成FutureTask,并且新建一个线程调用FutureTask的run()方法,线程执行之后使用FutureTask的get()方法来获取原创 2021-08-17 23:43:29 · 558 阅读 · 0 评论 -
【并发编程】线程池实战和原理
线程池实战和原理文章目录线程池实战和原理1. 为什么要使用线程池?2. 如何使用线程池?3. 常用API4. 线程池的核心参数4.1 阻塞队列4.2 线程工厂4.2.1 自定义线程工厂4.3 拒绝策略4.3.1 自定义拒绝策略5. Executes框架提供的默认线程池(不推荐使用)5.1 CachedThreadPool5.2 SingleThreadExecutor5.3 FixedThreadPool5.4 SingleThreadScheduledExecutor6. 线程池的最佳实践!6.1 不要原创 2021-08-17 09:40:04 · 228 阅读 · 0 评论 -
【并发编程】通过ReentrantLock学习AQS
通过ReentrantLock学习AQS文章目录通过ReentrantLock学习AQS1. AQS基础1.1 state变量--AQS强拓展性的体现1.2 AQS队列节点的数据结构定义1.3 native方法对于AQS的支持2. 可重入锁(ReentrantLock)获取和释放2.1 队列同步器2.2 获取锁2.3 释放锁2.4 公平和非公平的区别2.5 使用AQS自己实现一个同步工具java并发包(java.util.concurrent)是jdk提供的功能强大拓展性很强的一个并发管理的工具类,主要原创 2021-08-09 13:59:29 · 200 阅读 · 0 评论