线程基础知识 (一)

博客介绍了进程的独立性、动态性和并发性三大特征,区分了并发与并行的概念。还阐述了线程是进程的组成部分,多线程可扩展多进程概念。对比了多进程与多线程的区别,指出多线程更便于资源管理,并说明了Java多线程具有节约资源、执行效率高和简化编程等优点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在操作系统中,每个独立运行的程序就是一个进程,当一个程序进入内存运行时,即变成一个进程。

进程是操作系统进行资源分配和调度的一个独立单位,是具有独立功能且处于运行过程中的程序。

进程三大特征:

  1. 独立性
    进程是操作系统中独立存在的实体,拥有自己独立的资源,每个进程都拥有自己私有的地址空间,其他进程不可以直接访问该地址空间,除非进程本身允许的情况下才能进行访问。

  2. 动态性
    程序只是一个静态的指令集和,只有当程序进入内存运行时,才变成一个进程。进程是一个正在内存中运行的、动态的指令集合,进程具有自己的生命周期和各种不同的状态。

3.并发性
多个进程可以在单个处理器上并发执行,多个进程之间互不影响。

目前的操作系统都支持多进程的并发,但在具体的实现细节上会采用不同的策略。

对一个cup而言,在某一个时间点只能执行一个进程,CPU会不断在多个进程之间来回轮换执行。

并发性并行性是两个相似又不同的概念:

并发: 指多个事件在同一时间间隔内发生,其实质是在一个CPU上同时运行多个进程,CPU要在多个进程之间切换。并发并不是真正的同时发生,而是对有限物理资源进行共享以便提高效率。

并行: 指多个事件在同一时刻发生,其实质是多个进程同一时刻可在不同的CPU上同时执行,每个CPU运行一个进程。

并发:
并发
并行:
并行

线程

线程是进程的组成部分,一个线程必须在一个进程之内,而一个进程可以用于多个线程,一个进程至少有一个线程。

线程是最小的处理单位,线程可以拥有自己的堆栈、计数器和局部变量,但不能拥有系统资源,多个线程共享其所在进程的系统资源。

多线程在多CPU的计算机中可真正物理上同时执行;
对于单CPU而言,只是逻辑上的同时执行,每个时刻只有一个线程执行。

多线程扩展了多进程的概念,使得同一个进程可以同时并发处理多个任务。因此,线程也被称为轻量级进程。

多进程多线程是多任务的两种类型,主要区别

1.多进程之间的数据块是相互独立的,彼此互不影响,进程之间需要通过信号、管道等进行交互。

2.多线程之间的数据块可以共享,一个进程中的各个线程可以共享程序片段、数据段等资源。

多线程比多进程更便于资源管理。

Java多线程优点:

1.多线程之间共享内存,节约系统资源成本。
2.充分利用CPU,执行并发任务效率高。
3.Java内置多线程功能支持,简化编程模型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值