上一页 1 2 3 4 5 6 7 8 9 10 ··· 16 下一页
摘要: 目录: 什么是ReentrantLock ReentrantLock源码解析 总结 什么是ReentrantLock ReentrantLock是可重入锁,指当一个线程获取某个对象时还能再次获得该对象,重入是指重入某对象的锁。 那什么时候会用到可重入锁呢? 1 public class Demo { 阅读全文
posted @ 2020-06-24 15:39 被猪附身的人 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 目录: await()第二部分解析 如何处理线程被唤醒到竞争到锁的这段时间发生的中断 AQS总结 await()第二部分解析 之前我们说到线程在接收到signal()的通知后会从调用await()之处执行,但这里需要注意的是我们被唤醒的时候,其实并不知道是因为什么原因被唤醒的。 有可能是其它线程调用 阅读全文
posted @ 2020-06-22 14:03 被猪附身的人 阅读(384) 评论(0) 推荐(0) 编辑
摘要: 目录: 概述 同步队列、条件队列 Condition源码解析 概述 首先我们知道Condition的await()、signa()是内置锁synchronize配套的wait()及notify()的增强,可以更加细化的控制锁的唤醒条件。 那么我们这里来类比下它们之间的机制: 同步:内置锁的wait( 阅读全文
posted @ 2020-06-21 10:53 被猪附身的人 阅读(552) 评论(0) 推荐(0) 编辑
摘要: 目录: Lock & Condition & AQS使用示例 Lock & Condition & AQS结构简述 Lock与Condition的API解析 Lock & Condition & AQS使用示例 在说Lock和Condition之前我们先来看一下这两个的用法,从用法到源码,一步一步来 阅读全文
posted @ 2020-06-18 22:37 被猪附身的人 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 目录: 共享锁和独占锁的区别 共享锁实现原理 共享锁和独占锁在源码上有何区别 共享锁和独占锁的区别 共享锁和独占锁(排它锁)最大的区别就是,在同一时刻能否有多个线程获取同步状态。 独占模式,获取资源后,只有一个线程获取同步状态并执行。 共享模式,在获取资源后,多个线程共同执行。 共享锁实现原理 1、 阅读全文
posted @ 2020-06-16 22:56 被猪附身的人 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 目录: 学习目的 AbstractOwnableSynchronizer源码解析 AQS为什么如此重要 重要性说明 AQS内部类Node源码解析 AQS实例属性源码解析 AQS独占锁加锁 AQS独占锁解锁 总结 知识点总结 其它收获 学习目的 上一节学习到的ThreadPoolExecutor在并发 阅读全文
posted @ 2020-06-14 18:43 被猪附身的人 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 目录: ThreadPoolExecutor ForkJoinPool 两者的比较 ThreadPoolExecutor 1、无返回值demo 1 public class ThreadTest { 2 3 public static void main(String[] args) { 4 // 阅读全文
posted @ 2020-06-10 22:51 被猪附身的人 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 1、ps -ef | grep nginx 查找nginx进程 2、kill -QUIT xxxx 杀死nginx进程 3、找到nginx安装目录下sbin,输入命令./nginx -t;若返回nginx.conf syntax is ok、nginx.conf test is successful 阅读全文
posted @ 2020-06-08 16:23 被猪附身的人 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 学了一段时间的Spring源码,有些感触,虽然谈不上感触颇深但也有些体会,今天我把一些个人的感触记下来(才读了冰山一角,哈哈哈哈哈哈)。 1、面向接口编程: 哎,这其实没啥好说的,这不是常态么。 但我个人认为有扩展可能的程序才需要定义接口,向那些短期内不会变化或变化维度过大,我个人认为最好不要定义接 阅读全文
posted @ 2020-06-06 12:55 被猪附身的人 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 目录: 事件广播源码 观察者模式 Java事件机制 Spring事件驱动机制 容器生命周期 事件广播源码 Spring初始化事件广播的源码很简单,和上一节初始化消息源的逻辑非常相似,我把代码贴在这。 1 protected void initApplicationEventMulticaster() 阅读全文
posted @ 2020-06-04 11:07 被猪附身的人 阅读(400) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 16 下一页