Cgroup 资源配置方法
一、进程和线程
1.进程
-
开发写的代码我们称为程序,那么将开发的代码运行起来。我们称为进程。
-
明白点: 当我们运行一个程序,那么我们将运行的程序叫进程。
-
进程是申请一块内存空间,将数据放到内存空间中去, 是申请数据的过程是最小的资源管理单元
-
进程是线程的容器
程序与进程的区别
- 程序是数据和指令的集合, 是一个静态的概念, 就是一堆代码, 可以长时间的保存在系统中
- 进程是程序运行的过程, 是一个动态的概念, 进程存在着生命周期, 也就是说进程会随着程序的终止而销毁, 不会永久存在系统中
进程之间交互
- 进程之间通过 TCP/IP 端口实现
2.线程
什么是线程
- 线程是操作系统能够进行运算调度的最小单位。
- 它被包含在进程之中,是进程中的实际运作单位。
- 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。
- 是进程的一条流水线, 只用来执行程序,而不涉及到申请资源, 是程序的实际执行者最小的执行单元
线程之间交互
- 多个线程共享同一块内存,通过共享的内存空间来进行交互
3.进程与线程的关系
进程是线程的容器
例子:
- 我们打开一个聊天软件,这就是开启了一个进程;当我们在软件里面打开一些功能,比如空间, 扫一扫, 设置…,这些操作就是线程;所以可以说 “进程” 包含 “线程”, “线程” 是 “进程” 的子集
工厂流水线例子:
4.总结
- 进程:指在系统中正在运行的一个应用程序;程序一旦运行就是进程;进程——资源分配的最小单位。
- 线程:系统分配处理器时间资源的基本单元,或者说进程之内独立执行的一个单元执行流。线程——程序执行的最小单位。
- 进程要分配一大部分的内存,而线程只需要分配一部分栈就可以了.
- 一个程序至少有一个进程,一个进程至少有一个线程.
- 一个线程可以创建和撤销另一个线程,同一个进程中的多个线程之间可以并发执行.