最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

總結python多進程multiprocessing的相關知識

 更新時間:2021年06月29日 10:43:50   作者:xrj1111  
今天給大家?guī)淼氖顷P于Python的相關知識,文章圍繞著python multiprocessing多進程的相關知識展開,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下

multiprocessing多進程

概念

在這里插入圖片描述

創(chuàng)建多進程基本流程

在這里插入圖片描述

創(chuàng)建進程對象

在這里插入圖片描述

啟動進程 回收進程

在這里插入圖片描述

代碼:

import multiprocessing as mp
from time import sleep

# 進程執(zhí)行函數(shù)
def fun():
    print("開始一個進程")
    sleep(3)
    print("進程結束")

# 創(chuàng)建進程對象
p = mp.Process(target = fun)

p.start()   # 啟動進程

p.join()    # 回收進程

運行結果:

開始一個進程
進程結束
Process finished with exit code 0

1 、父子進程是并行執(zhí)行的 子進程執(zhí)行函數(shù) 父進程執(zhí)行除子進程外內容:

import multiprocessing as mp
from time import sleep

# 進程執(zhí)行函數(shù)
def fun():
    print("開始一個進程")
    sleep(3)
    print("進程結束")

# 創(chuàng)建進程對象
p = mp.Process(target = fun)    # 把fun函數(shù)作為獨立子進程 其它函數(shù)由進程來執(zhí)行

p.start()   # 啟動進程

sleep(2)
print("父進程執(zhí)行內容")

p.join()    # 回收進程
print("===============")
"""
pid = os.fork
if pid == 0
    fun()
    os._exit(0)
else:
    os.wait()
"""

運行結果:

開始一個進程
父進程執(zhí)行內容
進程結束

===============

2、子進程不能改變父進程中變量的值
代碼:

import multiprocessing as mp
from time import sleep

a = 1

# 進程執(zhí)行函數(shù)
def fun():
    print("開始一個進程")
    sleep(3)
    global a
    print("a=", a)
    a = 1000
    print("a=", a)
    print("進程結束")

# 創(chuàng)建進程對象
p = mp.Process(target = fun)    # 把fun函數(shù)作為獨立子進程 其它函數(shù)由進程來執(zhí)行

p.start()   # 啟動進程

sleep(2)
print("父進程執(zhí)行內容")

p.join()    # 回收進程
print("===============")
print("a=", a)

運行結果:

開始一個進程
父進程執(zhí)行內容
a= 1
a= 1000
進程結束
a= 1

創(chuàng)建多個進程
代碼:

"""
創(chuàng)建多個進程
"""

from multiprocessing import Process
import os
from time import sleep

def fun1():
    sleep(2)
    print(os.getppid(), '--', os.getpid(), "吃飯")

def fun2():
    sleep(3)
    print(os.getppid(), '--', os.getpid(), "睡覺")

def fun3():
    sleep(4)
    print(os.getppid(), '--', os.getpid(), "學習")

jobs =[]

for th in [fun1, fun2, fun3]:
    p = Process(target = th)
    jobs.append(p)
    p.start()

for i in jobs:
    i.join()

運行結果:

46013 – 46022 吃飯
46013 – 46023 睡覺
46013 – 46024 學習

含有參數(shù)的進程函數(shù)
代碼:

from multiprocessing import Process
from time import sleep

# 含有參數(shù)的進程函數(shù)
def worker(sec, name):
    for i in range(3):
        sleep(sec)
        print("I'm %s"%name)
        print("I'm working...")

# p = Process(target = worker, args = (2, "Tom"))
p = Process(target = worker, kwargs = {'name':'tom', 'sec': 2})

p.start()
p.join()

運行結果:

I'm tom
I'm working…
I'm tom
I'm working…
I'm tom
I'm working…

案例練習

在這里插入圖片描述

代碼:

from multiprocessing import Process
import os

filename = './dace.jpg'
size = os.path.getsize(filename)

# 復制上半部分
def up():
    fr = open(filename, 'rb')
    fw = open('bot,jpg', 'wb')
    n = size//2
    fw.write(fr.read(n))
    fw.close()
    fr.close()

# 復制下半部分
def down():
    fr = open(filename, 'rb')
    fw = open('bot,jpg', 'wb')
    fr.seek(size//2.0)
    fw.write(fr.read())
    fw.close()
    fr.close()

p = Process(target = up)
q = Process(target = down)
p.start()
q.start()
p.join()
q.join()

到此這篇關于總結python多進程multiprocessing的相關知識的文章就介紹到這了,更多相關python multiprocessing多進程內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Ubuntu16.04 安裝多個python版本的問題及解決方法

    Ubuntu16.04 安裝多個python版本的問題及解決方法

    Ubuntu16.04自帶python2.7與python3.5,Ubuntu 官方 apt 庫中還未收錄 python 3.8,因此添加 deadsnakes PPA 源安裝python3.8,否則會出現(xiàn)報錯,接下來通過本文給大家介紹Ubuntu16.04 安裝python的問題,一起看看吧
    2021-09-09
  • python標準庫中inspect模塊的簡單說明

    python標準庫中inspect模塊的簡單說明

    這篇文章主要介紹了python標準庫中inspect模塊的簡單介紹,inspect模塊提供了幾個有用的函數(shù)來幫助獲取有關活動對象的信息,例如模塊,類,方法,函數(shù),回溯,框架對象和代碼對象,需要的朋友可以參考下
    2023-08-08
  • Python實現(xiàn)Smtplib發(fā)送帶有各種附件的郵件實例

    Python實現(xiàn)Smtplib發(fā)送帶有各種附件的郵件實例

    本篇文章主要介紹了Python實現(xiàn)Smtplib發(fā)送帶有各種附件的郵件實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • 為Python的web框架編寫MVC配置來使其運行的教程

    為Python的web框架編寫MVC配置來使其運行的教程

    這篇文章主要介紹了為Python的web框架編寫MVC配置來使其運行的教程,示例代碼基于Python2.x版本,需要的朋友可以參考下
    2015-04-04
  • Python-torch?之torch.clamp()?函數(shù)解析

    Python-torch?之torch.clamp()?函數(shù)解析

    torch.clamp()函數(shù)用于對輸入張量進行截斷操作,將張量中的每個元素限制在指定的范圍內,這篇文章主要介紹了Python torch之torch.clamp()函數(shù),需要的朋友可以參考下
    2023-05-05
  • 基于Python編寫一個二維碼生成器

    基于Python編寫一個二維碼生成器

    二維碼又稱二維條碼,常見的二維碼為QR Code,QR全稱Quick Response,是一個近幾年來移動設備上超流行的一種編碼方式。本文將利用python生成一個簡單的二維碼生成器,需要的可以參考一下
    2022-06-06
  • Python urllib3軟件包的使用說明

    Python urllib3軟件包的使用說明

    這篇文章主要介紹了Python urllib3軟件包的使用說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • python+os根據(jù)文件名自動生成文本

    python+os根據(jù)文件名自動生成文本

    這篇文章主要為大家詳細介紹了python+os根據(jù)文件名自動生成文本,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • python腳本使用阿里云slb對惡意攻擊進行封堵的實現(xiàn)

    python腳本使用阿里云slb對惡意攻擊進行封堵的實現(xiàn)

    這篇文章主要介紹了python腳本使用阿里云slb對惡意攻擊進行封堵的實現(xiàn),本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • Python環(huán)境下安裝使用異步任務隊列包Celery的基礎教程

    Python環(huán)境下安裝使用異步任務隊列包Celery的基礎教程

    這篇文章主要介紹了Python環(huán)境下安裝使用異步任務隊列包Celery的基礎教程,Celery的分布式任務管理適合用于服務器集群的管理和維護,需要的朋友可以參考下
    2016-05-05

最新評論

金寨县| 翁源县| 攀枝花市| 灵石县| 永平县| 南宁市| 刚察县| 固阳县| 邹平县| 陇南市| 珲春市| 砚山县| 灵石县| 满城县| 翁牛特旗| 文登市| 漯河市| 城口县| 南部县| 府谷县| 新化县| 巩义市| 郓城县| 凤阳县| 兴安盟| 固阳县| 金阳县| 聊城市| 正定县| 内乡县| 宝清县| 贡觉县| 咸宁市| 北宁市| 通海县| 云浮市| 阿拉善左旗| 景德镇市| 宜宾市| 财经| 平南县|