Java并发 | 01.[基础] 进程与线程概述

本文详细介绍了进程和线程的概念,进程作为资源分配的基本单位,线程则是调度执行的基本单元。在Java和Windows中,二者扮演着不同的角色。线程间的通信在同进程内相对简单,不同进程间则需要借助IPC或网络通信。了解这些基础知识对于理解多任务和并发执行至关重要。

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

1. 什么是进程

  • 「过程与定义」 当一个程序被运行,其代码从磁盘被加载到内存中,这时就开启了一个进程;

  • 「作用」 进程的作用是加载指令、管理内存和管理IO;

  • 「与线程的关系」 进程可以看做是 线程的集合

  • 「补充」 进程可以视为是程序的一个实例,大部分程序允许同时运行多个实例进程(比如,你可以连续两次运行"记事本"程序,此时就会开启两个"记事本"进程)。

2. 什么是线程

  • 「与进程的关系 & 定义」 线程存在于进程之中,一个进程有一到多个线程;
  • 「作用」 将线程中的指令流以一定的顺序交由CPU去执行(换句话说,最终的执行是由线程提交的);
  • 「补充」 线程更轻量,线程上下文切换成本比进程上下文切换的成本更低。

3. 二者关系

在Java中,进程是最小的资源分配单位(eg:内存分配给进程),线程是最小的调度单位;

在Windows中,进程是不活跃的,它只是线程的容器,真正活跃的是进程中的线程。

image-20220808204411109

4. 通信方式

不同进程内的线程(即不同进程)通信较为复杂:

  • 同一台计算机:IPC技术;
  • 不同计算机:需要网络,如发送HTTP请求或响应。

同一进程内的线程通信较为简单,因为它们 共享进程中的内存,因此可以直接获取。

参考资料

[视频] 进程线程概念

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值