process什么是进程?开发编写的代码称为程序,然后运行开发的代码。我们称之为过程。理解一下:当我们运行一个程序的时候,那么我们要运行的这个程序就叫做进程。精简关键流程就是申请一块内存空间,将数据放入内存空间。就是申请数据的过程。它是最小的资源管理单元。进程是线程的容器。程序和进程之间的区别是数据和指令的集合。的概念就是一堆代码,可以长期保存在系统中。永久存在系统中进程之间的交互。线程是通过TCP/IP端口在进程之间实现的。什么是线程?线程是操作系统可以调度操作的最小单位。它包含在流程中,是流程中的实际操作单元。线程是指进程中的单个顺序控制流。多个线程可以在一个进程中并发运行,每个线程并行执行不同的任务。精简的重点是进程的流水线,只用于执行程序,不涉及资源的申请。它是程序实际执行者的最小执行单元。线程间的交互:多个线程共享同一块内存,通过共享内存空间进程与线程交互关系的例子:我们打开一个聊天软件,就是启动一个进程;当我们在软件中打开一些功能,比如空间,扫描,设置...,这些操作都是线程,所以我们可以说“进程”包括“线程”,“线程”是“进程”的子集。-资源分配的最小单位。线程:系统分配处理器时间资源的基本单位,或进程内独立执行的单位执行流程。线程——程序执行的最小单位。进程需要分配很大一部分内存,而线程只需要分配一部分栈。一个程序至少有一个进程,一个进程至少有一个线程。一个线程可以创建和撤销另一个线程,同一个进程中的多个线程可以并发执行。parallel,concurrent,serial并发:多个任务看似同时执行,是伪并行单核多通道技术实现并行:多个任务必须多核并行,否则只能实现并发(伪并行)串行:一个程序运行完,再运行下一个进程。任务运行的三态进程在运行过程中不断改变自己的运行状态,通常一个正在运行的进程必须有三种状态:就绪、运行、阻塞。就绪状态(Ready)当进程已经分配了除CPU以外的所有必要资源,只要再次获得CPU,程序就可以执行。进程此时的状态称为就绪状态。一个系统中处于就绪态的进程可能不止一个,它们通常排成一个队列,称为就绪队列运行态(Running)。当进程已经获得CPU操作权限,其程序正在运行时,称为运行状态。在单核操作系统中,只有一个进程处于运行状态,而在多核操作系统中,有多个进程处于运行状态。正在执行的阻塞(休眠)进程因等待事件而无法执行,CPU的运行时间被操作系统剥夺。是的,阻塞状态导致阻塞的原因有很多,例如:等待I/O操作,更高优先级的任务抢夺CPU的权利等等进程三种状态之间的转换。一种状态可以切换到另一种状态。可以多次处于就绪状态和运行状态,也可以多次处于阻塞状态。下图是三种状态的转换图。就绪状态??运行状态的进程处于就绪状态。当进程调度器为它分配一个CPU时间片时,进程就会从就绪状态变为运行状态??就绪状态。处于running状态的一个进程正在running,因为分配的时间片用完了,所以失去了CPU使用权限,running状态会恢复到ready状态runningstate??blockingstaterunning进程无法继续执行,因为遇到了I/O操作或被更高优先级的任务抢走CPU使用权限,由运行态变为阻塞态??就绪态。如果处于阻塞状态的进程已经处理完毕,则进程从阻塞状态变为就绪状态。任务提交的两种方式同步是指发送方发送数据后,等待接收方发送响应,然后再发送下一个数据报。同步意味着两个程序的操作是相关的。其中一个线程阻塞,需要等待,另一个线程异步运行。意思是发送方发送数据后,不等待接收方发送响应,就发送下一个数据报。异步意味着两个线程之间没有任何关系。运行您自己的示例。同步你约我吃饭,我听到了,立马去陪你吃饭。如果你没有听到,你就一直打电话,直到我告诉你你听到了,然后一起去吃饭。调用就像同步一样,双方同时,不能异步调用另一个人你请我吃饭,然后我自己去吃饭。我可能得到消息后立即离开,也可能过一会儿就离开。它是一个进程池吗?进程池是一个资源进程,是一种由管理进程组成的技术应用。为什么会有进程池??忙时需要执行上千个任务,空闲时可能只有零星的任务。那么当需要执行上千个任务时,是否需要创建上千个进程呢?首先,创建进程需要时间,销毁进程也需要时间。第二,即使开启了上万个进程,操作系统也不能让它们同时执行,反而会影响程序的运行效率。因此,我们不能无限期地根据任务打开或结束进程。那么我们该怎么做呢?进程池的概念定义了一个池,池中放置了固定数量的进程。当有需求时,使用池中的一个进程来处理任务。当进程完成后,并没有关闭进程,而是将进程放回进程池中。如果需要执行的任务较多,池中进程数不够时,任务会等待上一个进程完成任务返回,得到空闲进程后继续执行。也就是说pool中的进程数是固定的,所以最多同时运行的进程数是固定的,不会增加操作系统调度的难度,节省切换进程的时间,并在一定程度上达到并发的效果。资源进程创建一个预先创建的空闲进程,管理进程(如池)将工作分配给空闲进程进行处理。管理进程管理进程负责创建资源进程,将工作移交给空闲资源进程,回收已处理工作的资源进程。资源进程与管理进程的交互管理进程如何有效地管理资源进程,为资源进程分配任务?通过IPC、信号、信号量、消息队列、管道等进行交互。来源:https://cnblogs.com/songhaixi...
