java内存模型
Mr_PH
为了将来更优秀的自己
展开
-
JAVA并发编程基础-重排序
重排序 在执行程序时为了提高性能,编译器和处理器常常会对指令做重排序。这些重排序都可能导致多线程程序出现内存可见性问题。 重排序类型 编译器优化的重排序:编译器在不改变单线程程序语义的前提下,可以重新安排语句的执行顺序。 指令级并行的重排序:现代处理器采用了指令级并行技术(ILP)来将多条指令重叠执行。如果不存在数据依赖性,处理器可以改变语句对应及其执行的执行顺序。 内存系统的重排序:由于处理器使用缓存使用缓存和读/写缓冲区,这使得夹杂和存储操作看上去可能实在乱序执行。 J原创 2021-04-13 15:12:42 · 233 阅读 · 1 评论 -
JAVA并发编程基础
并发编程中的关键问题 线程之间如何通信 共享内存的并发模型中:线程之间通过读写内存中的公共状态来隐式进行通信 信息传递的并发模型中:线程之间没有公共状态,线程间通过明确的发送信息方式来显性进行通信 线程之间如何同步 共享内存的并发模型中:同步是显性进行的,程序员通过显式指定某个方法或代码在线程之间互斥执行 信息传递的并发模型中:由于信息的阿松必须在消息的接收之前,因此同步是隐式进行的 线程: 并发执行的活动实体 通信:原创 2021-04-13 11:25:48 · 182 阅读 · 0 评论