Python简单多进程demo

Posted staff

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python简单多进程demo相关的知识,希望对你有一定的参考价值。

 

‘‘‘
多线程使用场景:
怎样用Python的多线程提高效率?
io操作不占用CPU
计算操作占用CPU
Python多线程不适合CPU操作密集型的任务,适合io操作密集型的任务
如果有CPU操作密集型的任务需要用多进程,启动八个进程每个进程里一个线程,一共八个线程
在八核上运行,可以利用八核了,唯一的坏处是数据不能共享
怎样启动多进程呢?
‘‘‘
import multiprocessing
import time
import threading

# 功能:启动10个进程,每个进程里启动一个线程
def thread_run():
    print(threading.get_ident())
def run(name):
    time.sleep(2)
    print("hello",name)
    t = threading.Thread(target=thread_run,)
    t.start()
if __name__ == __main__:
    for i in range(10):
        p = multiprocessing.Process(target=run, args=(bob{0}.format(i),))
        p.start()

 打印子进程和父进程信息:

‘‘‘
每个进程都是由他的父进程启动的,每个进程都有一个父进程
‘‘‘
import os
from multiprocessing import Process

def info(title):
    print(title)
    print(module name:,__name__)  # 模块名
    print(parent process:,os.getppid())  # 父进程ID
    print(process id:, os.getpid())      # 本进程ID
    print(

)

def f(name):
    info(33[31;1mfunction f33[0m)
    print(hello,name)

if __name__ == __main__:
    info(33[32;1m main process line33[0m)
    p = Process(target=f, args=(bob,))
    p.start()
    p.join()

‘‘‘
 main process line
module name: __main__
parent process: 4436
process id: 6032



function f
module name: __mp_main__
parent process: 6032
process id: 5800



hello bob
‘‘‘

 

以上是关于Python简单多进程demo的主要内容,如果未能解决你的问题,请参考以下文章

python之多进程demo1

python多线程

python 多进程的使用demo

PHP多进程学习__来初步了解一下PHP多进程及简单demo

[Python3] 043 多线程 简介

python中的多线程和多进程编程