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

相关推荐

  • Java Spring与Struts2框架安全漏洞深度解析

    三、Java Spring框架安全风险剖析 3.1 Spring核心组件与SpEL机制 ①框架概述作为企业级应用开发的基石,Spring Framework通过模块化设计显著提升了软件开发效率。其核心功能涵盖依赖注入(IoC)、面向切面编程(AOP)和模型-视图-控制器(MVC)架构,同时整合了数据访问、Web服务等关键模块。自3.0版本起,SpEL表达式引…

    2025 年 5 月 18 日
    36900
  • WxPython跨平台开发框架之使用PyInstaller 进行打包处理

    使用PyInstaller 打包Python项目是一个常见的需求,它可以将Python程序及其所有依赖项打包成一个独立的可执行文件或者安装文件,方便在没有安装Python环境的机器上运行。本随笔介绍WxPython跨平台开发框架中使用PyInstaller 进行打包处理,包括在WIndow平台下生成独立的exe文件,松散结构的exe文件和目录,以及在MacO…

    2025 年 1 月 11 日
    65400
  • java: JDK isn‘t specified for module ‘product-service‘问题解决

    目录 问题 解决方法 1.打开File->Project Structure… 2.将Project SDK修改为17 Oracle OpenJDK 17.0.12,并Apply,OK 问题 添加module后报错:java: JDK isn’t specified for module ‘product-service’ 查看pom.xml文件也添加了…

    2025 年 1 月 9 日
    48200
  • IDEA 2024永久激活破解教程,附激活码和工具,实测有效

    【最新教程】IDEA 2024.1.2 永久激活破解方法,附激活码和工具,实测有效 IntelliJ IDEA 是目前 Java 开发中最受欢迎的集成开发环境之一,其强大的功能和智能提示使其在开发者中拥有极高的声誉。本文将介绍如何通过脚本和激活码免费激活 IDEA 2024.1.2 版本,确保您能够永久使用这款软件。 一、下载安装 IntelliJ IDEA…

    未分类 2024 年 7 月 8 日
    1.4K00
  • 使用Docker部署的基于binlog实现Mysql8

    概念 MySQL 基于 Binlog 的主从复制(Master-Slave Replication)是 MySQL 数据库中实现数据复制的一种机制。在这种复制模式下,主库(Master)记录所有对数据库的修改操作(如 INSERT、UPDATE、DELETE 等)到 二进制日志(Binlog) ,从库(Slave)则读取这些日志并执行相同的操作,从而保持与主…

    未分类 2025 年 1 月 13 日
    48800

发表回复

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

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信