欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > Python之多進程與多線程的使用

Python之多進程與多線程的使用

熱門標簽:電銷機器人系統廠家鄭州 舉辦過冬奧會的城市地圖標注 阿里電話機器人對話 地圖地圖標注有嘆號 螳螂科技外呼系統怎么用 400電話申請資格 qt百度地圖標注 正安縣地圖標注app 遼寧智能外呼系統需要多少錢

進程與線程

想象在學校的一個機房,有固定數量的電腦,老師安排了一個爬蟲任務讓大家一起完成,每個學生使用一臺電腦爬取部分數據,將數據放到一個公共數據庫。共同資源就像公共數據庫,進程就像每一個學生,每多一個學生,就多一個進程來完成這個任務,機房里的電腦數量就像CPU,所以進程數量是CPU決定的,線程就像學生用一臺電腦開多個爬蟲,爬蟲數量由每臺電腦的運行內存決定。
一個CPU可以有多個進程,一個進程有一個或多個線程。

多進程

1、導包

from multiprocessing import Process

2、寫兩個任務
也就是兩個函數

3、創建一個進程
進程名字 = Process(target=函數名字,函數參數傳字典或元組,是否守護進程)

4、啟動進程
進程名字.start()

5、是否開啟進程守護,一般主進程會等待子進程執行完畢后再關閉程序。當我們想程序主進程跑完,直接銷毀掉未完成的子進程,關閉程序的話,加上一句代碼 :
1.創建進程的時候傳參數daemon=True
2.進程名字.daemon=True

6、進程編號
導包os
獲取當前進程編號

os.getpid()

獲取當前父進程的編號

os.getppid()

代碼示例(未開啟進程守護)

from multiprocessing import Process
import time
import os

# 一個寫作業函數
def homeWork(name, count):
  for i in range(count):
    # 打印當前進程編號os.getpid()
    print("當前進程編號:", os.getpid())

    # 打印當前父進程編號os.getppid()
    print("當前父進程編號:", os.getppid())

    print(name, "正在寫作業...")
    time.sleep(0.2)
# 一個打游戲函數
def game(name, count):
  for i in range(count):
    # 打印當前進程編號os.getpid()
    print("當前進程編號:", os.getpid())

    # 打印當前父進程編號os.getppid()
    print("當前父進程編號:", os.getppid())

    print(name, "正在打游戲...")
    time.sleep(0.2)

if __name__ == '__main__':
  # 打印當前進程編號os.getpid()
  print("當前進程編號:", os.getpid())

  # 進程1寫作業 元組傳參
  p1 = Process(target=homeWork, args=("進程1", 10))
  # 進程2打游戲 字典傳參
  p2 = Process(target=game, kwargs={"name": "進程2", "count": 10})

  # 啟動進程
  p1.start()
  p2.start()
  time.sleep(1)
  print("主進程結束---------------------------------------------")

未開啟線程守護的運行結果:

 # 可以看到主進程結束的,其子進程還在繼續
當前進程編號: 14972
當前進程編號: 5732
當前父進程編號: 14972
進程1 正在寫作業...
當前進程編號: 14752
當前父進程編號: 14972
進程2 正在打游戲...
當前進程編號: 5732
當前父進程編號: 14972
進程1 正在寫作業...
當前進程編號: 14752
當前父進程編號: 14972
進程2 正在打游戲...
當前進程編號: 5732
當前父進程編號: 14972
進程1 正在寫作業...
當前進程編號: 14752
當前父進程編號: 14972
進程2 正在打游戲...
當前進程編號: 5732
當前父進程編號: 14972
進程1 正在寫作業...
當前進程編號: 14752
當前父進程編號: 14972
進程2 正在打游戲...
主進程結束---------------------------------------------
當前進程編號: 5732
當前父進程編號: 14972
進程1 正在寫作業...
當前進程編號: 14752
當前父進程編號: 14972
進程2 正在打游戲...
當前進程編號: 5732
當前父進程編號: 14972
進程1 正在寫作業...
當前進程編號: 14752
當前父進程編號: 14972
進程2 正在打游戲...
當前進程編號: 5732
當前父進程編號: 14972
進程1 正在寫作業...
當前進程編號: 14752
當前父進程編號: 14972
進程2 正在打游戲...
當前進程編號: 5732
當前父進程編號: 14972
進程1 正在寫作業...
當前進程編號: 14752
當前父進程編號: 14972
進程2 正在打游戲...
當前進程編號: 5732
當前父進程編號: 14972
進程1 正在寫作業...
當前進程編號: 14752
當前父進程編號: 14972
進程2 正在打游戲...
當前進程編號: 5732
當前父進程編號: 14972
進程1 正在寫作業...
當前進程編號: 14752
當前父進程編號: 14972
進程2 正在打游戲...

Process finished with exit code 0

代碼示例(開啟進程守護)

from multiprocessing import Process
import time
import os

# 一個寫作業函數
def homeWork(name, count):
  for i in range(count):
    # 打印當前進程編號os.getpid()
    print("當前進程編號:", os.getpid())

    # 打印當前父進程編號os.getppid()
    print("當前父進程編號:", os.getppid())

    print(name, "正在寫作業...")
    time.sleep(0.2)
# 一個打游戲函數
def game(name, count):
  for i in range(count):
    # 打印當前進程編號os.getpid()
    print("當前進程編號:", os.getpid())

    # 打印當前父進程編號os.getppid()
    print("當前父進程編號:", os.getppid())

    print(name, "正在打游戲...")
    time.sleep(0.2)

if __name__ == '__main__':
  # 打印當前進程編號os.getpid()
  print("當前進程編號:", os.getpid())

  # 進程1寫作業 元組傳參 第一種方法啟動進程守護
  p1 = Process(target=homeWork, args=("進程1", 10), daemon=True)
  # 進程2打游戲 字典傳參
  p2 = Process(target=game, kwargs={"name": "進程2", "count": 10})
  # 第二種
  p2.daemon = True
  # 啟動進程
  p1.start()
  p2.start()
  time.sleep(1)
  print("主進程---------------------------------------------")

開啟進程守護的運行結果

當前進程編號: 372
當前進程編號: 10116
當前進程編號: 9860
當前父進程編號: 372
進程1 正在寫作業...
當前父進程編號: 372
進程2 正在打游戲...
當前進程編號: 9860
當前進程編號: 10116
當前父進程編號: 372
進程2 正在打游戲...
當前父進程編號: 372
進程1 正在寫作業...
當前進程編號: 9860
當前進程編號: 10116
當前父進程編號: 372
進程1 正在寫作業...
當前父進程編號: 372
進程2 正在打游戲...
當前進程編號: 9860
當前進程編號: 10116
當前父進程編號: 372
進程1 正在寫作業...
當前父進程編號: 372
進程2 正在打游戲...
主進程結束---------------------------------------------

Process finished with exit code 0

多線程

1、導包

import threading

2、寫兩個任務
也就是兩個函數

3、創建一個線程
線程名字 = threading.Thread(target=函數名字,函數參數傳字典或元組,是否守護進程)

4、啟動線程
線程名字.start()

5、是否開啟線程守護,一般當前程序會等待子線程執行完畢后再關閉程序。當我們想程序跑完,銷毀掉未完成的子線程,直接關閉程序的話,加上一句代碼 :
1.創建線程的時候傳參數daemon=True
2.線程名字.daemon=True

6、線程編號
獲取當前線程編號

threading.current_thread()

代碼示例(未開啟進程守護)

import threading
import time

# 一個寫作業函數
def homeWork(name, count):
  for i in range(count):
    # 打印當前線程
    print(threading.current_thread())
    print(name, "正在寫作業...")
    time.sleep(0.2)
# 一個打游戲函數
def game(name, count):
  for i in range(count):
    # 打印當前線程
    print(threading.current_thread())
    print(name, "正在打游戲...")
    time.sleep(0.2)

if __name__ == '__main__':

  # 線程1寫作業 元組傳參
  t1 = threading.Thread(target=homeWork, args=("進程1", 10))
  # 線程2打游戲 字典傳參
  t2 = threading.Thread(target=game, kwargs={"name": "進程2", "count": 10})

  # 啟動進程
  t1.start()
  t2.start()
  time.sleep(1)
  print("主進程結束###################################################################################")

未開啟線程守護的運行結果

 # 可以看到主進程結束的,其線程還在繼續
Thread(Thread-1, started 3364)>
進程1 正在寫作業...
Thread(Thread-2, started 9100)>
進程2 正在打游戲...
Thread(Thread-2, started 9100)>
進程2 正在打游戲...
Thread(Thread-1, started 3364)>
進程1 正在寫作業...
Thread(Thread-1, started 3364)>
進程1 正在寫作業...
Thread(Thread-2, started 9100)>
進程2 正在打游戲...
Thread(Thread-2, started 9100)>
進程2 正在打游戲...
Thread(Thread-1, started 3364)>
進程1 正在寫作業...
Thread(Thread-1, started 3364)>
進程1 正在寫作業...
Thread(Thread-2, started 9100)>
進程2 正在打游戲...
主進程結束###################################################################################
Thread(Thread-2, started 9100)>
進程2 正在打游戲...
Thread(Thread-1, started 3364)>
進程1 正在寫作業...
Thread(Thread-1, started 3364)>
Thread(Thread-2, started 9100)>
進程2 正在打游戲...進程1
正在寫作業...
Thread(Thread-1, started 3364)>
進程1 正在寫作業...
Thread(Thread-2, started 9100)>
進程2 正在打游戲...
Thread(Thread-2, started 9100)>Thread(Thread-1, started 3364)>
進程1
進程2正在寫作業...
 正在打游戲...
Thread(Thread-2, started 9100)>Thread(Thread-1, started 3364)>

進程2 進程1 正在打游戲...
正在寫作業...

Process finished with exit code 0

代碼示例(開啟線程守護)

import threading
import time

# 一個寫作業函數
def homeWork(name, count):
  for i in range(count):
    # 打印當前線程
    print(threading.current_thread())
    print(name, "正在寫作業...")
    time.sleep(0.2)
# 一個打游戲函數
def game(name, count):
  for i in range(count):
    # 打印當前線程
    print(threading.current_thread())
    print(name, "正在打游戲...")
    time.sleep(0.2)

if __name__ == '__main__':

  # 線程1寫作業 元組傳參
  t1 = threading.Thread(target=homeWork, args=("進程1", 10), daemon=True)
  # 線程2打游戲 字典傳參
  t2 = threading.Thread(target=game, kwargs={"name": "進程2", "count": 10})
  t2.daemon = True

  # 啟動進程
  t1.start()
  t2.start()
  time.sleep(1)
  print("主進程結束###################################################################################")

開啟線程守護的運行結果

Thread(Thread-1, started daemon 15480)>
進程1 正在寫作業...
Thread(Thread-2, started daemon 13700)>
進程2 正在打游戲...
Thread(Thread-2, started daemon 13700)>
進程2 正在打游戲...
Thread(Thread-1, started daemon 15480)>
進程1 正在寫作業...
Thread(Thread-1, started daemon 15480)>Thread(Thread-2, started daemon 13700)>
進程1
進程2 正在寫作業...正在打游戲...

Thread(Thread-2, started daemon 13700)>Thread(Thread-1, started daemon 15480)>

進程1進程2 正在寫作業... 正在打游戲...

Thread(Thread-1, started daemon 15480)>
進程1 正在寫作業...
Thread(Thread-2, started daemon 13700)>
進程2 正在打游戲...
主進程結束###################################################################################

Process finished with exit code 0

到此這篇關于Python之多進程與多線程的使用的文章就介紹到這了,更多相關Python 多進程與多線程內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python多進程并發與多線程并發編程實例總結
  • Python控制多進程與多線程并發數總結
  • python多線程與多進程及其區別詳解
  • Python多進程與多線程的使用場景詳解
  • Python并發:多線程與多進程的詳解
  • 分析詳解python多線程與多進程區別

標簽:淘寶好評回訪 濟源 阜新 興安盟 隨州 昭通 合肥 信陽

巨人網絡通訊聲明:本文標題《Python之多進程與多線程的使用》,本文關鍵詞  Python,之多,進程,與,多,線程,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python之多進程與多線程的使用》相關的同類信息!
  • 本頁收集關于Python之多進程與多線程的使用的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    亚洲国产精品自拍| 91猫先生在线| 天堂久久久久久| 色香蕉成人二区免费| 欧美一区二区三区的| 中文字幕一区日韩精品欧美| 美日韩一级片在线观看| 国产伦理在线观看| 日本精品裸体写真集在线观看| 精品电影一区二区| 偷拍与自拍一区| 99久精品国产| 黄色录像免费观看| 2024国产精品| 免费成人在线播放| 亚洲色图欧美另类| 黄色裸体一级片| 欧美日韩国产精品自在自线| 亚洲同性gay激情无套| 国产精品一区2区| 欧美人与性囗牲恔配| 日韩一区二区不卡| 亚洲v中文字幕| 国产精品免费aⅴ片在线观看| 蜜桃久久精品一区二区| 亚洲中文字幕无码av| 欧美精品在线观看一区二区| 一区二区三区日韩精品视频| 99精品视频在线观看| 色综合久久综合网97色综合 | 日本污视频网站| 日韩精品影音先锋| 亚洲综合激情网| 99精品桃花视频在线观看| 91精品国产闺蜜国产在线闺蜜| 国产色综合久久| 国产精品亚洲一区二区三区妖精 | 亚洲女同女同女同女同女同69| 国产精品一区在线| 99热这里只有精品4| 欧美国产日韩精品免费观看| 国产成人午夜片在线观看高清观看| 国精产品视频一二二区| 国产欧美日韩综合| 国产白丝精品91爽爽久久| 亚洲欧美精品久久| 亚洲欧洲精品一区二区精品久久久 | 午夜久久久影院| av在线播放网址| 欧美一区二区黄| 蜜臀久久99精品久久久画质超高清| 熟女俱乐部一区二区视频在线| 精品国产乱码久久久久久浪潮| 免费在线观看一区二区三区| 国产精品高清无码在线观看| 国产午夜精品一区二区三区四区 | 国产一区二区三区精品视频| 中文字字幕码一二三区| 亚洲av成人精品一区二区三区 | 亚洲婷婷国产精品电影人久久| 成年人国产精品| 麻豆精品一区二区三区视频| 亚洲精品国产成人久久av盗摄 | 成人在线观看免费完整| 伊人色综合久久天天人手人婷| 性猛交╳xxx乱大交| 日韩一区二区在线观看视频 | 亚洲一区二区综合| 在线免费播放av| 久久中文字幕电影| 不卡视频在线观看| 欧美年轻男男videosbes| 激情六月婷婷综合| 欧美亚洲愉拍一区二区| 韩国成人福利片在线播放| 91成人网在线| 国内精品在线播放| 欧美日韩aaaaa| 国产激情一区二区三区四区| 欧美片在线播放| 国产一区二区中文字幕| 欧美浪妇xxxx高跟鞋交| 国产.欧美.日韩| 欧美日韩亚洲丝袜制服| 国产高清在线精品| 日韩欧美中文字幕精品| 97精品久久久午夜一区二区三区| 久久蜜桃一区二区| 超碰caoprom| 国产精品乱码妇女bbbb| 国产肥白大熟妇bbbb视频| 亚洲综合色噜噜狠狠| 欧美成人777| 狠狠色丁香久久婷婷综合丁香| 91精品一区二区三区久久久久久| 不卡一区中文字幕| 久久久99久久精品欧美| 人妻丰满熟妇av无码久久洗澡 | 一区二区三区加勒比av| 免费成人美女女在线观看| 日本在线播放一区二区三区| 欧美中文字幕一区二区三区 | 午夜精品久久久久久久99水蜜桃 | 一本加勒比波多野结衣| 亚洲人成精品久久久久| 美女av免费看| 久久精品99久久久| 日韩视频免费观看高清完整版在线观看| 99免费精品视频| 日本一区二区高清| 国产又黄又粗的视频| 美女视频一区在线观看| 91精品国模一区二区三区| 日本人dh亚洲人ⅹxx| 一色桃子久久精品亚洲| 91大神福利视频| 国内精品在线播放| 久久久久高清精品| av电影网站在线观看| 免费观看日韩av| 日韩欧美一级片| 麻豆国产精品一区| 轻轻草成人在线| 日韩欧美国产三级| 中国极品少妇videossexhd | 亚洲欧美日韩久久| 一本色道综合亚洲| 99这里都是精品| 亚洲天堂免费看| 色综合久久综合网97色综合| 成人性色生活片免费看爆迷你毛片| 国产欧美精品一区二区色综合朱莉| 亚洲高潮女人毛茸茸| 国产一区二区三区高清播放| 久久婷婷成人综合色| 亚洲一级黄色录像| 国产精品99久久久久| 中文字幕不卡在线观看| www.av免费| av爱爱亚洲一区| 一区二区三区日韩在线观看| 国产精品1区二区.| 亚洲国产精品99久久久久久久久| 香蕉久久久久久久| 成人免费看黄yyy456| 亚洲欧美激情在线| 欧美日韩亚洲综合在线| 中文字幕第3页| 日本v片在线高清不卡在线观看| 欧美sm极限捆绑bd| 免费一级suv好看的国产网站| 国产成人精品影视| 亚洲欧洲综合另类| 欧美日本一区二区在线观看| 久久一区二区电影| 精油按摩中文字幕久久| 欧美国产一区二区| 欧日韩精品视频| 日韩免费高清av| aa一级黄色片| 久久国产日韩欧美精品| 97免费公开视频| 成人欧美一区二区三区1314 | 亚洲自拍偷拍图| 国产精品1区2区3区在线观看| 国产精品久久久久久久久动漫| 日本精品视频一区二区三区| 天天躁日日躁狠狠躁免费麻豆| 日本vs亚洲vs韩国一区三区二区| 久久久久久久综合色一本| 全程偷拍露脸中年夫妇| xxxxwww一片| 久久国产人妖系列| 亚洲视频免费在线| 91精品欧美久久久久久动漫| 少妇太紧太爽又黄又硬又爽小说| 99这里只有久久精品视频| 日韩激情在线观看| 国产精品无圣光一区二区| 欧美三级中文字幕在线观看| 丰满少妇在线观看资源站| 成人爽a毛片一区二区免费| 亚洲地区一二三色| 国产亚洲一区字幕| 欧美性xxxxxx少妇| 西西444www无码大胆| a在线欧美一区| 男人的j进女人的j一区| 中文字幕在线观看不卡视频| 欧美一区二区三区影视| 欧美激情精品久久久久久免费| 超碰caoprom| 成人小视频免费在线观看| 日韩av一区二区三区四区| 国产精品区一区二区三区| 91麻豆精品国产91久久久久久 | 国产在线观看免费播放| 国产一区二区三区四区五区美女| 有码一区二区三区| 久久久欧美精品sm网站|