码迷,mamicode.com
首页 > 系统相关 > 详细

多任务处理方式之一:多进程

时间:2020-07-07 11:34:24      阅读:105      评论:0      收藏:0      [点我收藏+]

标签:独立   理解   oba   变量   data   stack   clock   join   cloc   

一、进程理解:

  • 1、系统进行资源分配调度的基本单位,一个具有一定独立功能程序关于某个数据集合的一次运行活动

  • 2、它是一个动态的概念,一个活动的实体

    • 狭义定义:an instance of a computer program that is being executed正在运行的程序的实例化对象
    • 广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动,是操作系统进行资源分配和调度的基本单位,是操作系统动态执行的基本单元
  • 注:其概念的关键点在于

1)、进程是一个实体(动态的),具有自己独立的地址空间,包括:
 	文本区域(text region):存储处理器执行的代码;
 	数据区域(data region):存储变量与进程执行期间使用的动态分配的内存;
 	堆栈(stack region):存储的是程序执行过程中调用的指令与本地变量;
2)、编写完的代码,没有运行时,称为程序,
    正在运行的代码,称为进程
    程序是死的(静态的),进程是活的(动态的)

二、创建进程

导入multiprocessing模块中的Process类以供后续创建类的时候直接调用

from multiprocessing import Process
import time
# 导入multiprocessing模块中的Process类以供后续创建类的时候直接调用
  1. 创建进程的方式
创建进程的方法一:
利用multiprocessing模块提供一个Process类来创建一个进程对象
n = 5
def func():
	global n
	while n > 0:
		print(n)
		time.sleep(3)
		n -= 1
if __name__ == "__main__":
	p = Process(target = func)
	p.start()
	p.join()

创建进程的方法二:
创建新的进程可以自定义一个类去继承Process类,每次实例化这个类的时候,就等同于实例化一个进程对象

import multiprocessing
import time
class ClockProcess(multiprocessing.Process):
	def run(self):
		n = 5
		while n > 0:
			print(n)
			time.sleep(3)
			n -= 1
if __name__ == "__main__":
	p = ClockProcess()
	p.start()
	p.join()

多任务处理方式之一:多进程

标签:独立   理解   oba   变量   data   stack   clock   join   cloc   

原文地址:https://www.cnblogs.com/fengting0913/p/13259752.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!