Java线程——Java内存模型理解(一)
随笔目录
- Java内存模型定义
- 并发编程线程通信与同步
Java内存模型定义
- 定义:Java内存模型(JMM)是一个规范,主要规定了以下两点
- 规定了一个线程如何以及何时可以看到其他线程修改过后的共享数据,即线程之间共享变量的可见性
- 规定了如何在需要的时候对共享变量进行同步
并发编程线程通信与同步
- 定义:线程通信是指线程之间以何种机制来交换信息,在命令式的编程中,线程之间的通信机制有两种:共享内存和消息传递。
- 共享内存
- 在共享内存的并发模型里,线程之间共享程序的公共状态,线程之间通过读-写内存中的公告状态来隐式进行通信。典型的共享内存通信方式就是通过共享对象进行通讯。
- 在共享内存的并发模型里,同步是显示进行的,程序员必须显示指定某个方法或者某段代码需要在线程之间互斥进行
- 消息传递
- 在消息传递的并发模型里,线程之间没有公共状态,线程之间必须通过明确的发送消息来显示进行通信,在java中典型的消息传递方式就是wait()和notify()。
- 在消息传递的并发模型里,由于消息的发送必须咋消息接收之前,因此同步是隐式进行的。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」