JAVA 的进程与线程

进程与线程的概述

进程

当一个程序进入内存运行时,即编程一个进程。进程是处于运行过程中的程序,并具有一定的独立功 能,进程是系统进行资源分配和调度的一个独立单位。一般而言进程通常包含如下三个特性

独立性

进程是系统中独立存在的实体,它可以用用自己独立的资源,每一个进程都拥有自己私有的地址空间 。在没有经过进程本身允许的情况下,一个用户进程不可以直接访问其他进程的地址空间。

动态性

进程与程序的区别在于,程序只是一个静态的指令集合,而进程是一个正在系统中活动的指令集合。 在进程中多了时间的概念。进程具有自己的生命周期和状态,这些概念在程序中都是不具备的。

并发性

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

线程

线程也被称作轻量级进程,是进程的执行单元。一个进程可以拥有多个线程,一个线程必须有一个 父进程。线程可以拥有自己的堆栈、自己的程序计数器和自己的局部变量,但不拥有系统资源,它 与父进程的其他线程共享该进程所拥有的全部资源。

多线程的实现方式

创建线程可以使用如下三种方式

  • 继承 Thread 类
  • 实现 Runnable 接口
  • 使用 Callable 和 Future 接口

线程的生命周期

线程的生命周期包含如下5种状态

  • 新建
  • 就绪
  • 运行
  • 阻塞
  • 死亡

JAVA 的进程与线程
https://wangqian0306.github.io/2020/java-thread/
作者
WangQian
发布于
2020年6月25日
许可协议