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

Python基礎之如何使用multiprocessing模塊

 更新時間:2021年06月06日 11:19:12   作者:松鼠愛吃餅干  
今天帶大家學習python多進程的相關知識,文中對multiprocessing模塊的使用作了非常詳細的介紹,需要的朋友可以參考下

一、multiprocessing模塊

multiprocessing包是Python中的多進程管理包。與threading.Thread類似,它可以使用multiprocessing.Proces 對象來創(chuàng)建一個進程。

該進程可以運行在Python程序內部編寫的函數(shù)。該Process對象與Thread對象的用法相同,也start(),run()的方法。

此外multiprocessing包中也有Lock/Event/Semaphore/Condition類(這些對象可以像多線程那樣,通過參數(shù)傳遞給各個進程),用以同步進程,其用法與threading包中的同名類一致。

所以,multiprocessing的很大一部份與threading使用同一套API,只不過換到了多進程的情境。接下來我們通過一個案例學習:

import time
import multiprocessing
 
def download () :
    print("開始下載文件...")
    time.sleep(1)
    print("完成下載文件...")
 
def upload() :
    print("開始上傳文件...")
    time.sleep(1)
    print("完成上傳文件...")
 
#download()
# upload()
#多進程與多線程的使用方式是差不多的
download_process = multiprocessing.Process(target=download)
upload_process = multiprocessing. Process(target=upload)
if _name_ == '_main_':
    #多進程必須要在 if _name_ == "_main_”里面
    download_process.start()
    upload_process.start ()
    #默認情況下,主進程代碼運行完畢之后會等待子進程結束
    print('--主進程運行完了---')

上述代碼是一個非常簡單的程序,一旦運行這個程序,按照代碼的執(zhí)行順序,download 函數(shù)執(zhí)行完畢后才能執(zhí)行upload 函數(shù)﹒如果可以讓download和upload同時運行,顯然執(zhí)行這個程序的效率會大大提升。

要點:

  • 進程(Process)是資源分配的最小單位
  • 多進程是Python程序中實現(xiàn)多任務的一種方式,使用多進程可以大大提高程序的執(zhí)行效率

二、進程的創(chuàng)建

  • 導入進程包

import multiprocessing

  • 通過進程類創(chuàng)建進程對象

進程對象= multiprocessing.Process()

  • 啟動進程執(zhí)行任務

進程對象.start()

通過進程類創(chuàng)建進程對象

進程對象=multiprocessing.Process(target=任務名)

三、進程的參數(shù)傳遞

帶有參數(shù)的任務

進程執(zhí)行帶有參數(shù)的任務傳參有兩種方式:

  • 元組方式傳參∶元組方式傳參一定要和參數(shù)的順序保持一致。
  • 字典方式傳參:字典方式傳參字典中的key一定要和參數(shù)名保持一致。

到此這篇關于Python基礎之如何使用multiprocessing模塊的文章就介紹到這了,更多相關multiprocessing模塊的使用內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • spring?boot集成jasypt?并實現(xiàn)自定義加解密的詳細步驟

    spring?boot集成jasypt?并實現(xiàn)自定義加解密的詳細步驟

    由于項目中的配置文件?配置的地方過多,現(xiàn)將配置文件統(tǒng)一放到nacos上集中管理?且密碼使用加密的方式放在配置文件中,配置文件的加密使用加密庫jasypt,本文給大家介紹spring boot集成jasypt并實現(xiàn)自定義加解密,感興趣的朋友一起看看吧
    2023-08-08
  • Java springboot yaml語法注解

    Java springboot yaml語法注解

    這篇文章主要介紹了SpringBoot中的yaml語法及靜態(tài)資源訪問問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • MyBatis入門初體驗之使用大全(2)

    MyBatis入門初體驗之使用大全(2)

    這篇文章主要介紹了MyBatis入門初體驗之使用大全(2)的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-07-07
  • 詳解Java中JSON數(shù)據(jù)的生成與解析

    詳解Java中JSON數(shù)據(jù)的生成與解析

    今天給大家?guī)淼氖顷P于Java的相關知識,文章圍繞著Java中JSON數(shù)據(jù)的生成與解析展開,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Java synchronized同步方法詳解

    Java synchronized同步方法詳解

    這篇文章主要為大家詳細介紹了Java synchronized同步方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • java集合類arraylist循環(huán)中刪除特定元素的方法

    java集合類arraylist循環(huán)中刪除特定元素的方法

    下面小編就為大家?guī)硪黄狫ava集合類ArrayList循環(huán)中刪除特定元素的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11
  • Java模擬qq軟件的詳細過程

    Java模擬qq軟件的詳細過程

    這篇文章主要為大家詳細介紹了用Java實現(xiàn)模擬QQ,實現(xiàn)了消息通信+登陸界面美化,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • JAVA設計模式之建造者模式原理與用法詳解

    JAVA設計模式之建造者模式原理與用法詳解

    這篇文章主要介紹了JAVA設計模式之建造者模式,簡單說明了建造者模式的原理、組成,并結合實例形式分析了java建造者模式的定義與用法,需要的朋友可以參考下
    2017-08-08
  • 一篇超詳細的Spring Boot對jdbc支持的文章

    一篇超詳細的Spring Boot對jdbc支持的文章

    JdbcTemplate 是在JDBC API基礎上提供了更抽象的封裝,并提供了基于方法注解的事務管理能力。 通過使用SpringBoot自動配置功能并代替我們自動配置beans,下面給大家介紹spring boot中使用JdbcTemplate相關知識,一起看看吧
    2021-07-07
  • 關于maven打包出錯的解決方案

    關于maven打包出錯的解決方案

    這篇文章主要介紹了關于maven打包出錯的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04

最新評論

翼城县| 喀喇沁旗| 大冶市| 新安县| 武强县| 肃宁县| 康定县| 江陵县| 天峨县| 阳曲县| 遵义市| 铁力市| 襄樊市| 积石山| 法库县| 绍兴市| 奉节县| 金堂县| 沅陵县| 安庆市| 垣曲县| 天柱县| 凤冈县| 溧阳市| 辽宁省| 武乡县| 曲麻莱县| 城固县| 淮滨县| 马龙县| 定安县| 始兴县| 湘潭市| 内黄县| 平乐县| 云和县| 奉贤区| 衡阳市| 新余市| 滦南县| 响水县|