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

相关推荐

  • 为什么在 Python 中 hash(-1) == hash(-2)?

    英文:https://omairmajid.com/posts/2021-07-16-why-is-hash-in-python 作者:Omair Majid 译者:豌豆花下猫&Claude-3.5-Sonnet 时间:原文发布于 2021.07.16,翻译于 2025.01.11 收录于:Python为什么系列 https://github.com/chi…

    未分类 2025 年 1 月 16 日
    26000
  • Java中的网络基础认知(如果想知道Java中有关网络基础的知识,那么只看这一篇就足够了!)

    前言:网络基础是现代通信和信息技术的基石,涉及数据传输、网络协议、路由、交换、网络设备以及网络安全等多个方面,深入了解网络基础,不仅能提升技术能力,还能为更复杂的网络架构与应用打下坚实的基础。 ✨✨✨ 这里是秋刀鱼不做梦的BLOG 目录 网络发展史简介 独立模式与网络互连 局域网(LAN) 广域网(WAN) 网络通信基础 —— IP和端口号 IP地址 端口号…

    2024 年 12 月 28 日
    33700
  • [JAVA] 第十一章:深入浅出解析”继承”核心概念(新手入门指南)

    目录导航1. 类继承机制1.1 继承原理剖析1.2 继承语法规范1.3 访问父类成员 1.3.1 子类访问父类字段①子父类字段无冲突②子父类字段同名super关键字的妙用 1.3.2 子类调用父类方法①方法名不同②方法名相同1.4 子类构造器特性🔍构造器特点精要1.5 super与this对比✔共同特征✖差异分析1.6 初始化流程详解1.7 protecte…

    2025 年 5 月 12 日
    13800
  • WxPython跨平台开发框架之动态菜单的管理和功能权限的控制

    在一个业务管理系统中,如果我们需要实现权限控制功能,我们需要定义好对应的权限功能点,然后在前端界面中对界面元素的可用性和功能点进行绑定,这样就可以在后台动态分配权限进行动态控制了,一般来说,权限功能点是针对角色进行控制的,也就是简称RBAC(Role Based Access Control)。对于登录系统后的用户,对用户的菜单(工具栏)、界面操作按钮的权限…

    2025 年 1 月 6 日
    42000
  • 数据结构与算法–顺序表(Java)

    什么是顺序表? 顺序表 是一种线性表 的数据结构。 顺序表通过一组连续地址 的存储单元依次存储 线性表中的数据元素。 顺序表的主要特点: 逻辑上相邻的元素在物理位置上也相邻。 可以随机访问表中的任意元素,通过元素的位置序号可以在 O(1) 的时间复杂度内直接获取对应元素。 插入和删除操作的效率相对较低。例如,在顺序表的中间位置插入一个元素,需要移动大量后续元…

    未分类 2024 年 12 月 28 日
    35600

发表回复

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

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信