调试多线程代码的时候,运行代码,报错如下: 我是要模拟多线程并发创建单例对象,看看是否最终获取的是同一对象,结… 继续阅读 多线程 Exception in thread “main” java.lang.IllegalMonitorStateException
标签: Java并发
Java并发编程可见性bug和demo示例
Java并发编程导致bug的因素有三个:原子性、可见性和有序性。 我们这里用一个demo来看一下可见性的问题。… 继续阅读 Java并发编程可见性bug和demo示例
Java并发CyclicBarrier
CyclicBarrier能阻塞一组线程直到某个事件的发生。栅栏与闭锁的关键区别在于,所有的线程必须同时到达栅… 继续阅读 Java并发CyclicBarrier
Java并发Semaphore
Semaphore限制一个可以同时访问共享资源的总数,好比多个线程获取一定数据的许可证,获取到了许可证的都可以… 继续阅读 Java并发Semaphore
Java并发CountDownLatch
CountDownLatch是闭锁的一种应用类,允许一个或多个线程等待某些操作完成,它是采用倒数检查控制线程的… 继续阅读 Java并发CountDownLatch
代码报错ConcurrentModificationException的原因
我们在执行代码的时候,可能会遇到ConcurrentModificationException异常,这个异常是… 继续阅读 代码报错ConcurrentModificationException的原因
Java并发容器相关概念
这里先介绍一下Java并发容器相关的概念。 同步容器将容器的访问进行串行化,从而实现线程安全,这样做的缺点是多… 继续阅读 Java并发容器相关概念