如何理解 Java 多线程
进程和线程的概念是操作系统的概念,因此你可能需要看看大学有关《操作系统原理》这本书中的内容才能理解什么是进程和线程。
简单来说进程和线程涉及到 CPU 的使用和内存的分配。
可以想象下你的浏览器,如果你打开了一个浏览器,表示你启动了一个进程,如果你再打开多个标签页,表示你启动了不同的线程(敲黑板:浏览器启动不同的标签页,其实启动的是不同的进程,不是启动线程,但这个模式比较容易理解罢了)。
Java 是多线程,就意味着在 JVM 中可以为不同的计算启动不同的线程,来加快处理速度。
类比浏览器的例子,你打开一个网页,等了一段时间,觉得载入太慢了,你去打开了另外的网页了。
只要涉及到线程就会有内存共享问题,如果有内存贡献问题就会有线程安全和线程同步的问题。
既然有线程安全和同步的问题,如何理解和解决?
这些问题就是为什么在面试的时候老被问到的原因。
http://www.ossez.com/t/java/13696
「其他文章」
- 到底应不应该使用 lombok
- Java 8 开始新增的 Optional 类 - Optional 对象中的返回
- Fedora 上如何安装 gitea
- Ubuntu 安装 NTP 服务
- 群晖(Synology)NAS 安装 Mariadb 数据库启动错误
- 美东某 IoT 公司技术流程第一轮沟通就挂了
- Node 的 cross-env 模块
- Npm 安装提示 EUNSUPPORTEDPROTOCOL 错误
- 使用 Jackson – 将字符串转换为 JsonNode 对象
- 在 Discourse 中如何使用输入对话框
- IntelliJ IDEA 中如何将 POM 中的版本号快速提出为属性
- RedHat 8 时间同步和时区修改
- JDK 8 及其后续 JDK 中 Period 和 Duration
- POM 文件中 licenses 许可证的定义
- IntelliJ IDEA 如何显示提交输入的信息历史
- 前端工程师的 caniuse
- JavaScript 数组进行拼接的函数
- JavaScript 数组元素的一些操作
- 如何理解 Java 多线程
- JavaScript 中 Array map() 方法