首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
多线程基础
冬天里的懒猫
创建于2022-04-02
订阅专栏
多线程基础
等 5 人订阅
共22篇文章
创建于2022-04-02
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
ReentrantReadWriteLock的一些问题
在非公平模式下,对于ReentrantReadWriteLock而言,写操作虽然具有优先级,但是还是会排队的。这样就可能造成在特殊情况下,读锁饥饿问题。
多线程基础(二十一):StampedLock源码分析
StampedLock实际上没有采用AQS来实现,而是采用了与AQS类似的一种比较简单的CLH队列来实现。这与ReadWriteLock相比起结构会简单许多。
多线程基础(二十):CyclicBarrier源码分析
CyclicBarrier能够实现CountDownLatch的效果,此外还能重复使用,而CountDownLatch则只能做一次计数。
多线程基础(十九):Semaphore源码分析
本文对Semaphore的源码进行了分析,Semphore类似于交通控制的信号灯,通过许可证的方式,对竞争的资源的并发程度进行了控制。
多线程基础(十八):ReentrantReadWriteLock源码分析
ReentrantReadWriteLock是基于AQS实现的可重入的读写锁。这个锁在使用的时候将锁分为了两个部分,ReadLock和WriteLock。
多线程基础(十七):Condition及ConditionObjet源码分析
Condition提供了管程模型中,Object的wait,notify、notifyAll方法类似的功能,以不同的对象与任何Lock结合使用,每对象由多个等待的集合。
多线程基础(十六):CountDownLatch源码分析
CountDownLatch是我们常用的并发工具,主要用于倒数计数等场景,CountDownlatch是AbstractQueueSynchronizer的共享模式实现。
多线程基础(十五):ReentrantLock源码分析
ReentrentLock是java并发包中的一个重要的同步工具,其设计本身与synhronized的作用类似,实现了一个互斥锁。
多线程基础(十四):AbstractQueuedSynchronizer源码分析
AbstractQueuedSynchronizer源码分析,AbstractQueueSynhronizer类本身就是一个抽象类,其他的同步工具如果要使用AQS都需要先继承。
多线程基础(十三):java中的FutureTask
FutureTask并不复杂,实现了Future设计模式,实际上本质是做一个异步的处理,但是会让任务的提交者进入等待过程,直至任务执行完毕。之后获取到执行完毕的结果。
多线程基础(十二):Thread优先级分析
java中的线程优先级,实际上取决于操作系统是如何实现的。这存在很大的不确定性。因此我们在编码的过程中,不要依赖于这个优先级进行编程。否则可能在某些操作系统中就会导致失效。
多线程基础(十一):interrupt深度分析
本文对java中的interrupt机制进行了分析。JVM提供了另外一种思路,将中断信号的处理,交给线程的调用者本身来决定。这样,jvm在检测到中断信号之后,只用抛出一个异常。
多线程基础(十):LockSupport源码及其使用
LocalSupport是实现线程间通信的一种有效的方式。unpark和park之间不需要有严格的顺序。可以先执行unpark,之后再执行park。这样再编码的过程中就比使用wait/notify简单
多线程基础(九):守护线程、yield、join及线程组
java中的守护线程、yield方法、join方法及线程组thread group相关的概念及使用过程。
多线程基础(八):ReentrantLock的使用及与synchronized的区别
java中ReentrantLock的使用及与synchronized的区别,通过两个线程交替打印以及实现阻塞队列的方式来说明。
多线程基础(七):关于HotSpot中notify方法不具备随机性的证明
关于HotSpot中notify方法不具备随机性的证明. 在HotSpot中,notify是顺序执行的,从等待队列中将队首元素出队。
多线程基础(六):Object的wait方法以及notify与notifyAll的区别
Object 对象中的 wait 方法以及其 notify 方法与 notifyAll 方法的区别。
多线程基础(五):java对象的MarkWord及synchronized锁升级过程
java jvm中对象的MarkWord(标记字)以及synchronized关键字锁升级过程。
多线程基础(四):volatile和可见性问题及happens-before原则
java中的volatile关键字和其可见性问题,以及java中的happens-before原则。
多线程基础(三):synchronized关键字及java内存模型简介
本文从线程安全问题入手引出了synchronized关键字的用法。 以及java内存模型的简单介绍。
下一页