摘要:
本文内容 需要解决的问题介绍ThreadLocal介绍InheritableThreadLocal 需要解决的问题 我们还是以解决问题的方式来引出ThreadLocal、InheritableThreadLocal,这样印象会深刻一些。 目前java开发web系统一般有3层,controller、s 阅读全文
摘要:
本文主要内容 JUC中的原子类介绍 介绍基本类型原子类 介绍数组类型原子类 介绍引用类型原子类 介绍对象属性修改相关原子类 预备知识 JUC中的原子类都是都是依靠volatile、CAS、Unsafe类配合来实现的,需要了解的请移步: volatile与Java内存模型 java中的CAS JUC底 阅读全文
摘要:
本文主要内容 基本介绍、 通过反射获取Unsafe实例 Unsafe中的CAS操作 Unsafe中原子操作相关方法介绍 Unsafe中线程调度相关方法 park和unpark示例 Unsafe锁示例 Unsafe中保证变量的可见性 Unsafe中Class相关方法 示例:staticFieldOff 阅读全文
摘要:
本文主要内容 从网站计数器实现中一步步引出CAS操作介绍java中的CAS及CAS可能存在的问题悲观锁和乐观锁的一些介绍及数据库乐观锁的一个常见示例使用java中的原子操作实现网站计数器功能 我们需要解决的问题需求:我们开发了一个网站,需要对访问量进行统计,用户每次发一次请求,访问量+1,如何实现呢 阅读全文
摘要:
本文内容 ExecutorCompletionService出现的背景介绍CompletionService接口及常用的方法介绍ExecutorCompletionService类及其原理示例:执行一批任务,然后消费执行结果示例【2种方式】:异步执行一批任务,有一个完成立即返回,其他取消 需要解决的 阅读全文
摘要:
本文主要内容 介绍Executor框架相关内容介绍Executor介绍ExecutorService介绍线程池ThreadPoolExecutor及案例介绍定时器ScheduledExecutorService及案例介绍Excecutors类的使用介绍Future接口介绍Callable接口介绍Fu 阅读全文
摘要:
本文主要内容 什么是线程池 线程池实现原理 线程池中常见的各种队列 自定义线程创建的工厂 常见的饱和策略 自定义饱和策略 线程池中两种关闭方法有何不同 扩展线程池 合理地配置线程池 线程池中线程数量的配置 什么是线程池 大家用jdbc操作过数据库应该知道,操作数据库需要和数据库建立连接,拿到连接之后 阅读全文
摘要:
本文主要内容 介绍CyclicBarrier6个示例介绍CyclicBarrier的使用对比CyclicBarrier和CountDownLatch CyclicBarrier简介CyclicBarrier通常称为循环屏障。它和CountDownLatch很相似,都可以使线程先等待然后再执行。不过C 阅读全文
摘要:
本篇内容 介绍CountDownLatch及使用场景提供几个使用示例介绍CountDownLatch的使用手写一个并行处理任务的工具类 思考一个需求假如有这样一个需求,当我们需要解析一个Excel里多个sheet的数据时,可以考虑使用多线程,每个线程解析一个sheet里的数据,等到所有的sheet都 阅读全文
摘要:
目录Semaphore简介Semaphore(信号量)为多线程协作提供了更为强大的控制方法,前面的文章中我们学了synchronized和重入锁ReentrantLock,这2种锁一次都只能允许一个线程访问一个资源,而信号量可以控制有多少个线程可以同时访问特定的资源。 Semaphore常用场景:限 阅读全文