摘要:
前言 昨天我们分享了多线程里面的一个计数器countDownLatch,它的主要作用是控制线程执行顺序,确保上一个操作完成后,下一个线程才能启动运行,但是某些情况下countDownLatch并不能满足我们的需求,比如执行A线程10次后,我们需要执行B线程,然后再执行A线程10次,循环往复,为了应付 阅读全文
摘要:
前言 在java中,锁lock是多线程编程的一个重要组件,可以说凡是涉及到多线程编程,线程安全这一块就无法避开lock,进一步说就是所有的线程安全都是基于锁实现的,只是从形式上分为隐式锁和显式锁,synchronized就属于隐式锁,像我们之前分享的可重入锁就属于显式锁,当然显示锁还有很多,我们今天 阅读全文
摘要:
前言 最近一段时间,我们一直都是在分享多线程相关的知识点,截止到今天我们已经分享过锁、计数器等相关知识,主要分享了一些常用的多线程控制方式,今天我们来继续分享另一个多线程控制组件——Semaphore。 Semaphore 示例代码 Semaphore也是jdk1.5引入的组件,它的字面意思是信号量 阅读全文
摘要:
前言 今天我们来分享最后多线程最后一个工具类组件,之后我们会继续探索多线程的相关知识:线程池、并发容器和框架,然后就是总结和查漏补缺。 今天的内容很简单,内容也不太多,但是应用场景很典型,可以解决我们实际开发中数据对比的应用需求,好了,我们直接开始吧。 Exchanger exchanger也是jd 阅读全文
摘要:
前言 原本是昨天分享countDownLatch相关知识点的,但是昨天粗略看写了,发现自己对countDownLatch的认知还不够,所以就半道分享了常用的三种多线程线程安全解决方案的性能比较,虽然过程中翻车了,但是还是有收获的,也不亏。今天又去看了下count的相关知识,然后做了一个小demo,感 阅读全文