JAVA 的进程与线程
进程与线程的概述
进程
当一个程序进入内存运行时,即编程一个进程。进程是处于运行过程中的程序,并具有一定的独立功 能,进程是系统进行资源分配和调度的一个独立单位。一般而言进程通常包含如下三个特性
独立性
进程是系统中独立存在的实体,它可以用用自己独立的资源,每一个进程都拥有自己私有的地址空间 。在没有经过进程本身允许的情况下,一个用户进程不可以直接访问其他进程的地址空间。
动态性
进程与程序的区别在于,程序只是一个静态的指令集合,而进程是一个正在系统中活动的指令集合。 在进程中多了时间的概念。进程具有自己的生命周期和状态,这些概念在程序中都是不具备的。
并发性
多个进程可以在单个处理器上并发执行,多个进程之间不会互相影响。
线程
线程也被称作轻量级进程,是进程的执行单元。一个进程可以拥有多个线程,一个线程必须有一个 父进程。线程可以拥有自己的堆栈、自己的程序计数器和自己的局部变量,但不拥有系统资源,它 与父进程的其他线程共享该进程所拥有的全部资源。
多线程的实现方式
创建线程可以使用如下三种方式
- 继承 Thread 类
- 实现 Runnable 接口
- 使用 Callable 和 Future 接口
线程的生命周期
线程的生命周期包含如下5种状态
- 新建
- 就绪
- 运行
- 阻塞
- 死亡
JAVA 的进程与线程
https://wangqian0306.github.io/2020/java-thread/