当前位置: 首页 > 网络应用技术

python流程和线程 - 媒体过程

时间:2023-03-07 01:30:20 网络应用技术

  在生活中,您可以在吃饭时观看视频,并在做作业时听音乐……这些是生活中的多次任务场景。计算机还可以执行多个任务,例如您可以在听歌曲时打开浏览器。..简单地说,多任务同时运行多个程序

  单个核心CPU多任务的原理:操作系统允许每个人交替执行,QQ执行2US,切换到微信执行2US,然后切换到Cool Dog Music 2us ...在表面上...每个任务都是反复执行的,但实际上CPU执行得太快了,因此感觉就像是同一时间。

  多核CPU实施任务原则:多个任务的真实多核执行只能在多核CPU上实现,但是由于任务的数量远远超过CPU的核心数量,因此操作系统将自动计划核心核心的许多任务。

  当有多个线程运行时,如果系统只有一个CPU,则不能同时真正执行一个过程。它只能将CPU运行时间分为几个时间段,然后将时间段分配给各种线程为各种threadsexecute,当线程代码在一个时间段内运行时,其他线程处于悬挂状态。这样,我们称其为并发

  当系统具有多个CPU时,线程的操作可能会不舒服。当一个CPU执行一个线程时,另一个CPU可以执行另一个线程,并且两个线程不会抓住CPU资源。可以同时进行。这样

  进程>>线程>> coroutine

  定义过程(过程)是计算机中有关数据集上的运行活动的程序。它是系统分发和调度资源分配和调度的基本单元。它是操作系统结构的基础。在以过程为导向设计的早期计算机结构中,该过程是程序的基本执行实体。在以当代为导向的线程设计的计算机结构中,该过程是线程容器。编程是指令,数据及其组织形式的描述。该过程是程序的实体。(来源:百度百科全书)

  让我们简单地理解:对于操作系统,任务是一个过程。例如,打开浏览器是启动浏览器的过程。打开记事本是记事本的过程。如果打开了两个,则打开两个。不是要启动两个记事本的过程

  创建过程可以使用fork函数在Linux下创建一个进程,并且可以在Windows系统上引用多处理模块创建过程。我们可以使用多处理模块中的进程类创建一个新的进程

  过程类描述

  init()名称:过程名称

  args:任何位置参数(参数传递到函数),迭代

  Kwargs:任何关键字参数

  目标:由过程实例动员的对象(您要调用的子过程操作)

  组:通常,没有启动过程termination()而无需结束进程的constructor start()等待秒,可选和其他进程以执行End Run(),而无需给定目标参数,对,对,对吗?此对象调用start()方法,在执行对象is_alive()中的run()方法,而无需判断该过程实例是否由PID的名称过程执行。

  自定义过程

  当需要创建进程池时,子处理的数量不多,您可以直接在多处理中使用该处理来动态生成多个进程,但是如果是数十万个目标,则可以使用该过程。创建过程是巨大的。目前,您可以使用它。到达多处理模块提供的池方法。初始化池时,您可以指定最大数量的进程数。当将新请求提交到池中,如果池不满,则将创建一个新的进程来执行请求,但是如果池中的进程数已经达到池中的进程数,则数字池中的过程达到了最大值,然后请求等待。直到该过程在池中结束之前,将创建新的过程以执行

  使用障碍物过程和非覆盖过程之间的差异在于apply和apply_async之间的差异

  过程之间的通信

  该块是否防止阻塞是为了防止不时超时,默认值不(始终),您可以自己修改时间

  在这里,我们将队列Q作为参数传递给两个过程的函数,以便两个函数可以相互通信

  摘要过程池:

  池=池(nax)创建进程池对象

  pool.apply()阻止

  pool.apply_async()non -blocking

  pool.close()添加任务

  pool.join()特许权到主过程,直到流程池的结束为止,主过程被允许执行以下操作