Thread初学1-基本概念

程序(Program):指令序列 

    1、由 程序设计语言编写
    2、在满足相应的 语法要求,可以运行于对应的 结构体系上( 环境
    3、 顺序执行,且完成 数据处理(赋值、计算、转换、传输........)

进程(Process):程序的一次执行过程 

    1、 程序及其数据在处理机上顺序执行时发生的活动
    2、是系统进行资源分配和调度的一个独立单位

程序和进程的区别:

程序(program) 静态 永久性 无并发性 无PCB(进程控制块)结构
进程(Process) 动态 暂时性 可多并发 拥有PCB结构,可实现并发、独立、异步特性

进程的基本状态:


可以类比我们写代码

1>没有I/O操作:

public static void main(String[] args) {
    int a=1;
}

执行完 int a=1;操作后程序活动结束,进程结束

2>有I/O操作阻塞:

public static void main(String[] args) {
	Scanner scan = new Scanner(System.in);
	int b = scan.nextInt();
}

scan.nextInt() 需要你有一个控制台输入,否则程序阻塞在这一步

再输入数据后执行赋值操作后,程序结束

线程(Thread):轻量级进程

    1、作为调度和分配的基本单元

    2、一个单一的顺序控制流程

线程与进程区别:

    1、一个进程可包含多个线程,至少包含一个线程

    2、进程是是资源的调度和分配的一个独立单元,线程是CPU调度和分配的基本单元

    3、进程是独立运行的基本单元

  

猜你喜欢

转载自blog.csdn.net/qq_34819372/article/details/80829092