JAVA多线程编程是JAVA有别于C/C++的一大特性。最近在学习JAVA并发编程的艺术,遇到了很多问题,但是既然是学习,就要想办法解决。
首先,是一个总的纲目,关于JAVA内存模型。JAVA内存模型是什么,包含了哪几块重要的知识点?
JAVA内存模型主要指java中线程通信的方式。
线程之间的通信机制包括:共享内存(隐式)和消息传递(显式)。
JAVA内存模型是以共享内存为模型,不同的线程持有本地内存数据,写数据时,将本地内存数据刷新到主内存,读数据时将主内存中数据读到本地内存中来实现进程间的消息传递。
JAVA内存模型主要需要了解以下几个知识点:
1. 重排序与顺序一致性内存模型(这个知识点一直让我很费解)
2. volatie、synchronized、final三个同步原语的内存语义及重排序在内存中的实现
(后续会继续补充)
网友评论