进程

描述

  • 是一个执行中的程序
  • 每个进程都拥有自己的地址空间、内存、数据栈以及其他用于跟踪执行的辅助数据
  • 操作系统管理其上所有进程的执行,并为这些进程合理地分配时间
  • 进程也可通过派生(fork 或 spawn)新的进程来执行其他任务

进程模块介绍

使用multiprocessing当实现多进程代码

multiprocessing.Process创建进程

start()启动进程

join()挂起进程

os.getpid()获得进程的ID

Linux系统查看进程:ps -ef | grep 进程名

ps -ef | grep python

 

进程的实现

分别用方法和面对对象方式实现一个进程

一、使用def()方法实现:

import os
import time

from multiprocessing import Process


def so_sth(name):
    """
    进程要做的事情
    :param name: str 进程的名称
    :return:
    """
    print('进程的名称:{0}, pid:{1}'.format(name, os.getpid()))
    time.sleep(150)
    print('进程要做的事情')


if __name__ == '__main__':
    p = Process(target=so_sth, args=('my process', ))
    # 启动进程
    p.start()
    # 挂起进程
    p.join()

二、使用面对对象实现:

import os
import time

from multiprocessing import Process


class MyProcess(Process):

    def __init__(self, name, *args, **kwargs):
        self.my_name = name
        super().__init__(*args, **kwargs)

    def run(self):
        print('MyProcess进程的名称:{0}, pid:{1}'.format(
            self.my_name, os.getpid()))
        time.sleep(150)
        print('MyProcess进程要做的事情')


if __name__ == '__main__':
    p = MyProcess('my process class')
    # 启动进程
    p.start()
    # 挂起进程
    p.join()

进程之间的通信

 

使用进程池

 

 

人已赞赏
Python3

Python之多线程(四)多线程中的锁实现

2019-11-12 3:03:57

Python3

Python3:直观明了、简洁引入库

2019-11-16 3:17:56

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索