并发编程
VRival
这个作者很懒,什么都没留下…
展开
-
java内存模型
java内存模型 下图就是java内存模型,但是一般讨论的时候不会画这个图,一般画的是java内存模型抽象结构图(在下文)。Thread Stack就是java内存模型抽象结构图中的本地内存,Heap就是java内存模型抽象结构图中的主内存。接下来介绍下图中两个线程内存分配的概念。 java里的堆是运行时的数据区,堆是由垃圾回收来负责的,堆的优势是可以动态的分配内存大小,生存期也不必事先告...原创 2018-11-09 13:09:55 · 4172 阅读 · 1 评论 -
影响java线程安全的三个因素
java的线程安全性 线程安全性:当多个线程访问某个类时,不管运行时环境采用任何调度方式或者这些进程将如何交替执行,而且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么就称这个类是线程安全的。 线程安全性主要体现在三个方面: 原子性:提供了互斥访问,同一时刻只能有一个线程对它进行操作 可见性:一个线程对主内存的修改可以及时的被其他线程观察到。 有序性:一个线程观察...原创 2018-11-09 14:09:02 · 1344 阅读 · 0 评论 -
线程池及其运行原理
前言 首先从结构说起 然后线程池的参数 最后在结合代码简单分析 new Thread 弊端 第一:每次new Thread 新建对象,性能差 第二:线程缺乏统一管理,可能无限制的新建线程,相互竞争,有可能占用过多系统资源导致死机或OOM 第三:缺少更多的功能,如更多执行、定期执行、线程中断。 什么是线程池 Java中的线程池是运用场景最多...原创 2018-11-07 16:39:14 · 362 阅读 · 0 评论