美文网首页
对于进程的认识及操作

对于进程的认识及操作

作者: 昀吖 | 来源:发表于2018-08-23 21:27 被阅读0次
322183.jpg

进程

1.什么是进程?

进程是正在执行中的应用程序,一个进程包含了该应用程序的所有信息,如加载数据内存空间、代码、程序数据、对象句柄,执行单元等等,计算机中多线程的操作已经可以实现多任务的操作机制了。进程开发对比线程开发优点:多进程并发编程的实现能比多线程并发机制更加有效的利用和发挥硬件资源优势

2.进程的各项操作

Multiprocessing模块可以创建管理多个进程,
通过该模块提供的 Lock|RLock 进程锁类型、Event 事件类型、Condition 条件类型等等也可以很方便的完成进程间同步操作
multiprocessing 常见属性和方法

名称 描述
Process 进程类型,用于创建和管理进程
Lock|RLock 进程互斥锁|重用锁,用于进程同步
Event 进程事件类型,用于进程同步
Condition 进程条件类型,用于进程同步
Queue 进程队列类型,用于多进程数据共享
Manager 进程管理类型,用于多进程数据共享
Listener|Client 进程监听|客户端,基于网络多进程之间的数据共享

基础操作:
import multiprocessing
if name == "main":

2.1创建一个进程

proc = multiprocessing.Process(target=hello_process)
proc.start()
print("hello, i ma main:", os.getpid(), os.getppid())

2.2:多进程面向对象实现

多进程的面向对象的实现方式类似多线程的操作模式
自定义进程类型,继承系统进程标准类型 multiprocessing.Process
重写父类的 run()方法,在方法中定义执行代码
在使用时创建该自定义进程类型的对象,调用对象的 start()方法启动一个新的进程

2.3:多进程的简化:内置进程池

创建进程池pool = multiprocessing.Pool(2)
创建了两个进程池

2.4:多个进程通信:multiprocessing.Manager

不同线程之间的数据通信,涉及到核心的数据共享问题,主要由 PYTHON 中提供的内建模块 multiprocessing.Manager 类型实现,该类型内置了大量的用于数据共享的操作
multiprocessing.Queue 常见属性和方法

名称 描述
put(data [, timeout=None]) 添加一个数据到队列中
put_nowait(data) 添加一个数据到队列中,非阻塞模式
get([timeout=None]) 从队列中获取一个数据
get_nowait() 从队列中获取一个数据,非阻塞模式
full() 判断队列是否已满
empty() 判断队列是否已空
close() 关闭队列
qsize() 获取队列中的元素数量

相关文章

  • 对于进程的认识及操作

    进程 1.什么是进程? 进程是正在执行中的应用程序,一个进程包含了该应用程序的所有信息,如加载数据内存空间、代码、...

  • 多进程介绍和多线程的比较

    多进程编程 耗CPU的操作,用多进程编程, 对于IO操作来说用多线程,进程切换的代价要高于线程 1. 对于耗CPU...

  • 进程和线程的理解

    进程:对于操作系统而言,进程是整个现代操作系统的核心根本,操作系统是以进程为单位执行任务。 线程:随着技术的发展,...

  • Linux服务及进程

    简介 介绍Linux中服务及进程的操作使用 服务以及进程 vmstat w top free ps kill

  • 1-3节linux系统编程

    进程创建和调度 1)进程 进程:程序的一次执行在操作系统中的影像进程控制块(PCB):对于操作系统来说,PCB即代...

  • [python] 初识多线程

    背景 对于IO操作来说,多线程和多进程差别不大,甚至多线程比多进程效率更高,因为对于操作系统来说,线程的调度比多进...

  • 操作系统(1) -- 进程与线程

    内容大纲 1、操作系统概述1.1 OS定义及特征1.2 OS的发展 2、进程2.1 进程概念及特征2.2 进程的状...

  • Linux: 进程通信介绍(一)

    进程与通信 进程可以理解为操作系统的可执行程序,每当我们执行一个程序时,对于操作系统来讲就创建了一个进程,随着进程...

  • Linux进程管理

    1. 进程管理简介 (1)进程概念 进程是操作系统中非常重要的一个概念,进程是程序的执行过程,相对于程序,进程是动...

  • 第十八课 Linux进程管理

    1. 进程管理简介 (1)进程概念 进程是操作系统中非常重要的一个概念,进程是程序的执行过程,相对于程序,进程是动...

网友评论

      本文标题:对于进程的认识及操作

      本文链接:https://www.haomeiwen.com/subject/dyfviftx.html