Java并发编程
文章平均质量分 94
介绍Java并发编程相关知识
半__夏
路漫漫其修远兮,吾将上下而求索。
展开
-
并发编程13-JUC之CountDownLatch
介绍juc工具类中的计数器使用场景以及源码实现原创 2022-07-31 21:51:48 · 222 阅读 · 0 评论 -
并发编程12-ThreadPoolExecutor使用以及原理探索
线程池-ThreadPoolExecutor关于线程池什么是线程池:线程池可以理解为一些线程的集合,并且具有管理线程的功能。为什么要有线程池:因为我们java中创建每一个线程,都对应这一个内核线程,他的创建和销毁是耗费资源的。所以如果频繁创建销毁线程比较耗性能。什么时候用线程池:单个任务处理时间短有大量的任务需要处理线程池能给我们带来什么好处:重用存在的线程,减少线程创建,消亡的性能开销,控制并发数实现了基于阻塞队列的缓存机制和拒绝策略多环境的隔离,比如可能一台服务器部署两个服务,原创 2020-09-06 16:35:22 · 272 阅读 · 0 评论 -
并发编程11-通过ReentrantLock和Semaphore看AQS独占锁和共享锁的源码
深入解析AQS源码原创 2020-08-12 22:20:48 · 841 阅读 · 0 评论 -
并发编程10-synchroized的原理以及JDK1.6之后的锁升级
介绍synchroized的基本使用和原理原创 2020-08-13 23:48:45 · 455 阅读 · 0 评论 -
并发编程09-死锁问题如何排查以及解决
通过代码示例介绍死锁现象、如何排查死锁、如何预防死锁。原创 2022-05-18 23:04:56 · 1086 阅读 · 0 评论 -
并发编程08-线程通信之Condition机制
1. 介绍Condition接口的核心方法2. 介绍Condition如何使用3. 介绍await、signal方法的原理4. 以LinkedBlockingDeque为例看阻塞队列中是如何使用Condition机制的原创 2022-05-11 01:11:54 · 135 阅读 · 0 评论 -
并发编程07-线程安全解决方案之ReentrantLock锁
1. Lok接口的规范2. ReentrantLock的使用以及简单说明原理3. 可重入锁的概念原创 2022-05-08 15:54:01 · 427 阅读 · 0 评论 -
并发编程06-线程安全解决方案之无锁的线程同步方案CAS以及ABA问题
除了sync锁、lock锁,还有那些线程同步的解决方案,今天我们一起看下一种无锁的解决方案:CAS以及其带来的ABA问题如何解决原创 2020-08-13 23:56:27 · 396 阅读 · 0 评论 -
并发编程05-线程通信之wait¬ify
线程通信之wait¬ify在前面几节我们说过,java中每个线程在工作的时候,都会为其在栈区分配私有的线程栈,将共享变量拷贝到私有线程栈的工作内存中,进行处理。当线程运行完业务逻辑以后,私有的线程栈会被销毁。因此多个线程之间是无法感知相互的状态,无法进行通信的。但是有时候我们又确实需要让多个线程之间进行通信,比如最经典的生产者消费者模型。什么是生产者消费者模型生产者消费者模型是我们生活中很常见的一种模型,比如中午排队买饭,后厨的师傅会将做好的各种菜放在盘子里,我们排队打饭,然后结账,那么原创 2022-05-06 00:33:11 · 1121 阅读 · 0 评论 -
并发编程04-线程安全解决方案之如何正确使用synchroized关键字
介绍如何正确使用synchroized原创 2022-05-01 12:26:34 · 210 阅读 · 0 评论 -
并发编程03-从图灵机和冯诺依曼到计算机内存模型和JMM模型分析线程不安全的原因
1. 图灵机的工作方式2. 冯诺依曼体系架构3. 计算机内存模型4. JMM模型5. 线程不安全的原因原创 2022-04-30 19:23:28 · 574 阅读 · 1 评论 -
并发编程02-什么是线程安全以及Java虚拟机中哪些数据是线程共享的,那些是线程私有的
1. 介绍什么是线程安全2. 总Java虚拟机运行时数据区的角度看那些数据是线程共享的,那些是线程私有的原创 2022-04-28 00:21:20 · 1852 阅读 · 1 评论 -
并发编程01-Java创建和使用线程的四种方式
1. 介绍如何如何通过继承Thread类、实现Runnable、实现Callable接口创建线程2. 介绍如何通过线程池创建线程3. 介绍线程池的工作原理4. 什么是守护线程原创 2022-04-27 00:18:33 · 2405 阅读 · 1 评论