随笔分类 - JUC
摘要:前言 前面写过一篇关于生产者消费者问题的博客,但是通过对JUC的学习,发现前面写的存在不少问题,比如使用synchronized锁,以及没有做好防止线程虚假唤醒的措施,故在此重新完善。 synchronized与ReentranLock的比较 前面对ReentranLock的加锁解锁原理的源代码进行
阅读全文
摘要:1. ReentranLock简介 ReentranLock是自JDK1.5引入的基于API层面的互斥锁,它与sychronized有着一些异同。 相同点:都是独占式的可重入锁, 不同点:ReentranLock的加锁和解锁过程需要手动去控制,synchronized的加锁和解锁是通过JVM来实现的
阅读全文
摘要:Java中集合存在的线程安全问题 Java中,ArrayList、Hashset、HasMap等都是线程不安全的,主要原因就是其中许多操作(例如ArrayList中的add操作)是非原子的操作,这就导致多线程在操作这些集合类的时候会产生线程的安全性问题。 例如: List<Integer> list
阅读全文

浙公网安备 33010602011771号