
多线程并发编程
欧拉拉拉拉
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JAVA程序运行原理分析
JAVA程序运行原理分析JAVA运行时数据区线程共享部分方法区堆内存线程独享部分虚拟机栈本地方法栈程序计数器class文件内容版本号/访问标志常量池构造函数程序入口—main方法程序完整运行分析JAVA运行时数据区线程共享部分方法区用来存储加载的类信息、常量、静态变量、编译后的代码等数据。虚拟机规范中这是一个逻辑区域。具体实现根据不同虚拟机来实现。如:oracle的HotSpot在j...原创 2019-08-04 09:49:52 · 238 阅读 · 0 评论 -
线程状态、线程中止、
线程状态线程状态线程切换线程终止不正确的线程终止——Stop正确的线程中止interrupt标志位线程状态6个状态定义:java.lang.Thread.State1、New:尚未启动的线程的线程状态。2、Runnable:可运行线程的线程状态,等待CPU调度。3、Blocked:线程阻塞等待监视器锁定的线程状态。 处于sync...原创 2019-08-06 10:26:42 · 179 阅读 · 0 评论 -
CPU缓存和内存屏障
CPU缓存和内存屏障CPU性能优化手段——缓存多级缓存缓存同步协议CPU性能优化手段——运行时指令重排两个问题内存屏障CPU性能优化手段——缓存为了提高程序运行的性能,现代CPU在很多方面堆程序进行了优化。例如:CPU高速缓存。尽可能的避免处理器访问主内存的时间开销,处理器大多会利用缓存(cache)以提高性能。多级缓存L1 Cache(一级缓存)时CPU第一层高速缓存,分为数据缓存和...原创 2019-08-06 10:57:32 · 130 阅读 · 0 评论 -
线程封闭
线程封闭概念ThreadLocal栈封闭概念多线程访问共享可变数据时,涉及到线程间数据同步的问题。并不是所有时候,都要用到共享数据,所以线程封闭概念就提出来了。数据都被封闭在各自的线程之中,就不需要同步,这种通过将数据封闭在线程中而避免使用同步的技术称为线程封闭。线程封闭具体的体现有:ThreadLocal、局部变量ThreadLocalThreadLocal是Java里一种特殊的变量...原创 2019-08-07 19:22:40 · 126 阅读 · 0 评论 -
Synchronized从使用到原理
Synchronized从使用到原理JAVA中锁的概念同步关键字synchronized堆内存中的Java对象对象头Mark WordJAVA中锁的概念自旋锁:是指当一个线程再获取锁的时候,如果锁已经被其他线程获取,那么该线程将循环等待,然后不断的判断锁是否能够被成功获取,知道获取到锁才会退出循环。乐观锁:假定没有冲突,在修改数据时,如果发现数据和之前获取的不一致,则读最新数据,修改后重试修...原创 2019-08-23 19:28:18 · 128 阅读 · 0 评论 -
线程通信
线程通信通信方式文件共享网络共享变量共享线程协作——JDK APIAPI——被弃用的suspend和resumewait和notify机制park/unpark机制伪唤醒线程通信,指多个线程在运行期间,进行的数据交互或者协作。通信方式要想实现多个线程之间的协同,如:线程执行先后顺序、获取某个线程执行的结果等等。涉及到线程之间相互通信,分为下面四类:文件共享网络共享变量共享jdk提...原创 2019-08-11 09:28:00 · 132 阅读 · 0 评论 -
线程池原理
线程池原理为什么要用线程池线程池原理—概念线程池API——接口定义和实现类方法定义线程池API——Executors工具类线程池原理——任务execute过程同步队列(SynchronousQueue):线程池中止shutdownshutdownNow线程数量为什么要用线程池线程是不是越多越好?1、线程在java中是一个对象,更是操作系统的资源,线程创建、销毁需要时间。如果创建时间+销毁时间...原创 2019-08-11 10:26:56 · 211 阅读 · 0 评论 -
Java内存模型详解
Java内存模型详解JVM运行时数据区Java内存模型 VS JVM运行时数据区初看Java内存模型多线程中的问题JVM运行时数据区Java内存模型 VS JVM运行时数据区Java语言规范:描述java语言特性Java虚拟机规范:描述java虚拟机模型Java内存模型是由,java语言规范提出JVM运行时数据区(堆,方法区。。。)来自ava虚拟机规范初看Java内存模型一次执...原创 2019-08-21 10:45:29 · 146 阅读 · 0 评论 -
Atomic相关类和CAS机制
Atomic相关类和CAS机制原子操作CAS(Compare and swap)原子操作public class TestCollection { public static void main(String[] args) throws Exception { final TestCollection test = new TestCollection(); for (int i ...原创 2019-08-21 18:41:37 · 499 阅读 · 0 评论