一、锁分类 线程要不要锁住同步资源?锁住--悲观锁不锁住--乐观锁 锁住同步资源如果失败,线程要不要阻塞?阻塞不阻塞--自旋锁,适应性自旋锁 多个线程竞争同步资源的流程细节上的区别?不锁住资源,多个线程中只有一个能够修改资源成功,其它线程会去重试--无锁同一个线程执行同步资源时自动获取资源--偏向锁 ...
分类:
编程语言 时间:
2019-11-13 23:49:44
阅读次数:
114
如上图,红框中表示OjectMonitor的enter方法一进来就通过CAS将OjectMonitor的_owner设置为当前线程,绿框中表示设置成功的逻辑,第一个if表示重入锁的逻辑,第二个if表示第一次设置_owner成功,都意味着竞争锁成功,而我们的线程C显然是竞争失败的,会进入下图中的无线循 ...
分类:
其他好文 时间:
2019-11-10 17:13:57
阅读次数:
83
线程同步: 现实生活中,我们会遇到“同一个资源,多个人都想使用”的问题,比如,食堂排队打饭,每个人都想吃饭,最天然的解决办法就是,排队,一个个来。 处理多线程问题时,多个线程访问同一个资源对象,并且某些线程还想修改这个对象。这时候我们就需要线程同步。线程同步其实就是一种等待机制,多个需要同时访问此对 ...
分类:
编程语言 时间:
2019-11-10 13:51:55
阅读次数:
74
SRC目标搜集 首先得知道SRC厂商的关键字,利用脚本搜集一波。 比如【应急响应中心】就可以作为一个关键字。通过搜索引擎搜索一波,去重,入库。 SRC基础信息收集 微信公众号、xxsrc微信群。主要关注双倍积分活动、奖励大小、技术交流群里的信息。 通过公开信息掌握基础漏洞 在公开了漏洞标题的平台找最 ...
分类:
其他好文 时间:
2019-11-07 23:48:45
阅读次数:
174
(手机横屏看源码更方便)注:java源码分析部分如无特殊说明均基于java8版本。简介大家都知道线程是有生命周期,但是彤哥可以认真负责地告诉你网上几乎没有一篇文章讲得是完全正确的。常见的错误有:就绪状态、运行中状态(RUNNING)、死亡状态、中断状态、只有阻塞没有等待状态、流程图乱画等,最常见的错误就是说线程只有5种状态。今天这篇文章会彻底讲清楚线程的生命周期,并分析synchronized锁、
分类:
编程语言 时间:
2019-11-05 10:47:20
阅读次数:
64
为了保证数据的一致性即实现线程的安全性,java虚拟机提供了同步和锁机制。synchronized关键字是最基本的互斥同步手段。除此之外,还可以使用java.util.concurrent包中的重入锁(ReentrantLock)来实现同步。相比synchronized,ReentrantLock增 ...
分类:
编程语言 时间:
2019-11-02 16:01:55
阅读次数:
56
延迟阻塞队列DelayQueue DelayQueue 是一个支持延时获取元素的阻塞队列, 内部采用优先队列 PriorityQueue 存储元素, 同时元素必须实现 Delayed 接口;在创建元素时可以指定多久才可以从队列中获取当前元素,只有在延迟期满时才能从队列中提取元素。 使用场景 缓存系统 ...
分类:
其他好文 时间:
2019-11-02 00:29:55
阅读次数:
118
网优四大部分优化 覆盖类优化 容量类优化 功率类优化(干扰类优化) 流程类优化 按照流程的步骤,一步步分析优化,与流程相关的优化 入网初始接入,重入网,切换,寻呼,位置更新等 所有制式的状态,发生的变化都是类似的。 空闲状态rrc idle 连接状态rrc connected 状态转移 都是伴随信令 ...
分类:
其他好文 时间:
2019-11-01 09:57:08
阅读次数:
90
一、Lock接口 1. Java5之后,JDK新增了Lock接口,实现锁的功能,与synchronized关键字类似 2. 源码 二、ReentrantLock 1. 实现了Lock接口 2. 是synchronized的替代,ReentrantLock是Java语言层面实现的锁机制,synchro ...
分类:
其他好文 时间:
2019-11-01 09:52:17
阅读次数:
73
进程捕捉到信号并对其进行处理时,进程正在执行的正常指令序列就会被信号处理程序临时中断,它首先执行该信号粗合理程序中的指令;如果从信号处理程序返回,则继续执行捕捉到信号时进程正在执行的正常指令序列; ps:如果了解驱动,上面这段信号打断流程与中断打断进程上下文很类似; 对于有些函数,是不可重入的,如果 ...
分类:
其他好文 时间:
2019-10-30 13:54:13
阅读次数:
102