1.什么是进程?什么是线程?什么是程序?
程序:程序是一组有序指令的集合。
进程:进程表示资源分配的基本单位,用户运行自己的程序,系统就会创建一个进程,并为它分配资源。(这些资源包括表格,内存空间,磁盘空间,I/O设备等等,然后把该进程放入进程的就绪队列。进程调度程序选中它,为它分配CPU及其他有关资源,该进程才真正运行。进程是系统中的并发运行单位)。
线程:线程是进程某一路单独运行的程序,也就是进程中的一部分,线程存在于进程之中。也可以说线程是轻量级的进程。
程序的执行的过程:程序在执行的过程中,进程是死的,只是一些资源的集合,真正的程序执行都是线程完成的,程序启动的时候操作系统吗就帮你创建了一个主线程,每个线程都有自己的堆栈。
2.进程和线程的区别和联系:
(1).一个进程可以拥有多个线程,而一个线程同时只能被一个进程所拥有。
1、一个进程可以拥有多个线程,而一个线程同时只能被一个进程所拥有。
2、进程是资源分配的基本单位,线程是处理机调度的基本单位,所有的线程共享其所属进程的所有资源与代码。
3、线程执行过程之中很容易进行协作同步,而进程需要通过消息通信进行同步。
4、线程的划分尺度更小,并发性更高。
5、线程共享进程的数据的同时,有自己私有的的堆栈。
6、线程不能单独执行,但是每一个线程都有程序的入口、执行序列以及程序出口。它必须组成进程才能被执行。
3.程序和进程的区别:
1、程序是静态的,它知识一组冰冷的指令的集合,不具有任何的运行意义。而进程是程序运行在数据集上的动态过程,进程是一个动态实体,它应创建而产生,应调度执行,应等待资源或者是事件而处于等待状态,应完成了任务而被撤销,它有自己的生命周期,它反应了程序在数据集上运行的全部动态过程。
2、进程和程序并不是一一对应的关系,相同的程序运行在不同的数据集上就是不同的进程。
3、进程还具有并发性和交往性,而程序却是封闭的。
4.程序和进程的区别
1、程序是静态的,它知识一组冰冷的指令的集合,不具有任何的运行意义。而进程是程序运行在数据集上的动态过程,进程是一个动态实体,它应创建而产生,应调度执行,应等待资源或者是事件而处于等待状态,应完成了任务而被撤销,它有自己的生命周期,它反应了程序在数据集上运行的全部动态过程。
2、进程和程序并不是一一对应的关系,相同的程序运行在不同的数据集上就是不同的进程。
3、进程还具有并发性和交往性,而程序却是封闭的。