Java【多线程】(1)进程与线程

```markdown
Java【多线程】(1)进程与线程


目录

1. 前言

2. 正文

2.1 什么是进程

2.2 PCB(进程控制块)

2.2.1 进程id

2.2.2 内存指针

2.2.3 文件描述符表

2.2.4 进程状态

2.2.4.1 就绪状态

2.2.4.2 阻塞状态

2.2.5 进程优先级

2.2.6 进程上下文

2.2.7 进程的记账信息

2.3 CPU操作进程的方法

2.4 什么是线程

2.4.1 进程与线程

2.4.2 线程资源分布

2.5 简单实现线程

2.5.1 Thread类

2.5.2 Runnable接口

2.5.3 区分start和run

2.5.4 查看线程

3. 小结


1. 前言

大家好,今天我想与大家分享我最近学习Java多线程的心得。多线程技术在现代软件开发中扮演着至关重要的角色,它不仅关系到程序的性能,也是面试中常见的话题。对于初学者来说,理解多线程的概念可能有些挑战,但请不要气馁,让我们一步步深入探索。

2. 正文

在深入线程的讨论之前,我们先来了解一些基础的进程概念,因为它们是理解线程不可或缺的一部分,并且在未来的技术面试中可能会被问及。

2.1 什么是进程

进程(Process) 是指在计算机上运行的程序的实例。它是操作系统进行资源分配和调度的一个独立单位。每个进程都拥有自己的内存空间、寄存器集合、堆栈和程序计数器,这些资源确保了进程能够在多任务环境中并行而不相互干扰。

我们可以通过任务管理器来查看计算机上的进程:

Java【多线程】(1)进程与线程

这里显示的就是进程的概览,当我们查看任务管理器的详细信息时,可以获取到每个进程的具体信息,这有助于我们初步理解进程的基本概念。

2.2 PCB(进程控制块)

操作系统通过进程控制块(PCB)来管理进程,它存储了进程的状态、程序计数器、寄存器等关键信息。在进程上下文切换时,操作系统会保存当前进程的状态,并加载另一个进程的状态,以实现进程间的无缝切换。

下面是PCB包含的一些关键属性:

2.2.1 进程id

进程ID(Process ID,PID)是操作系统用来唯一标识一个进程的标识符。每个进程都有一个独一无二的PID,它在进程的管理和调度中起着核心作用。

Java【多线程】(1)进程与线程

特点:

  • 唯一性:每个进程都有一个唯一的PID,操作系统确保不会有重复。
  • 生命周期:进程创建时分配PID,进程结束时释放PID,可供新进程使用。

2.2.2 内存指针

内存指针(Memory Pointer)是PCB中的一个关键字段,它保存了与进程相关的内存管理信息。

文章整理自互联网,只做测试使用。发布者:Lomu,转转请注明出处:https://www.it1024doc.com/4631.html

(0)
LomuLomu
上一篇 2024 年 12 月 28 日 上午9:56
下一篇 2024 年 12 月 28 日 上午10:57

相关推荐

  • ChatGPT Plus 用微信支付要注意什么

    ChatGPT Plus 用微信支付要注意什么。围绕国内用户常见的 AI 会员支付、开通和续费问题,整理判断思路和注意事项。

    2026 年 5 月 14 日
    8500
  • JavaScript 中通过Array.sort() 实现多字段排序、排序稳定性、随机排序洗牌算法、优化排序性能,JS中排序算法的使用详解(附实际应用代码)

    目录 JavaScript 中通过Array.sort() 实现多字段排序、排序稳定性、随机排序洗牌算法、优化排序性能,JS中排序算法的使用详解(附实际应用代码) 一、为什么要使用Array.sort() Array.sort() 是 JavaScript 提供的一个内置数组排序方法。它不仅仅是一个简单的升序或降序排列工具,更是一种灵活的排序逻辑实现方式。通…

    未分类 2024 年 12 月 28 日
    59400
  • 『玩转Streamlit』–集成定时任务

    学习了Streamlit了之后,可以尝试给自己的命令行小工具加一个简单的界面。 本篇总结了我改造自己的数据采集的工具时的一些经验。 1. 概要 与常规的程序相比,数据采集任务的特点很明显,比如它一般都是I/O密集型程序,涉及大量网络请求或文件读写,耗费的时间比较长;而且往往是按照一定的时间间隔周期性地执行。 这样的程序对交互性要求不高,所以我之前都是用命令行…

    2025 年 1 月 12 日
    68500
  • Python深度学习(第2版)PDF免费下载

    适读人群 :想要学习深度学习的学生、职业开发者。 流行深度学习框架Keras之父执笔,涵盖Transformer架构等进展,文字生,简单方式解释复杂概念,不用一个数学公式,利用直觉自然入门深度学习。 电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍 点击原文去下载 书籍信息 作者: [美] 弗朗索瓦·肖莱出版社: 人民邮电出版社出品方…

    2025 年 1 月 6 日
    58700
  • 解决IDEA编译时“java: 找不到符号”错误的全面指南

    解决IDEA编译时”java: 找不到符号”错误的全面指南 团队新从Git仓库克隆的项目在IDEA中编译时出现”java: 找不到符号”错误,主要涉及对象getter/setter方法缺失问题。经过一番探索后找到解决方案,在此与大家分享~ 内容导航 问题背景 解决方案汇总 我们的实际解决方式 其他可能情况排查 Lombok插件检查 Lombok依赖确认 JD…

    未分类 2025 年 5 月 12 日
    51600

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信