亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > 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之多進程與多線程的使用的相關信息資訊供網民參考!
  • 推薦文章
    精品在线观看国产| 欧美激情一区二区三区视频| 亚洲天堂在线播放| 中文字幕一区二区三区精彩视频| 午夜精品国产自在现线拍| 999久久狠狠免费精品| 欧美国产日韩精品| 欧美激情一区二区三区视频 | 国产91精品系列在线观看| 久久久成人网| 日本免费区| 午夜激情视频在线播放| 99色视频| 青青久热| 天天做日日爱| 欧美国产日韩在线| 可以免费看毛片的网站| 99热热久久| 台湾美女古装一级毛片| 国产91丝袜在线播放0| 国产一区二区精品久久91| 韩国毛片免费| 国产国语对白一级毛片| 亚洲天堂在线播放| 日本免费乱理伦片在线观看2018| 亚洲天堂免费| 亚洲精品永久一区| 韩国三级一区| 99久久精品国产片| 国产网站在线| 美国一区二区三区| 午夜欧美福利| 日韩avdvd| 国产一区二区福利久久| 二级特黄绝大片免费视频大片| 日韩av东京社区男人的天堂| 欧美1卡一卡二卡三新区| 日韩av东京社区男人的天堂| 日韩一级精品视频在线观看| 久草免费资源| 二级片在线观看| 国产精品1024在线永久免费 | 日韩中文字幕在线播放| 久久久成人网| 夜夜操网| 91麻豆精品国产自产在线| 九九精品久久久久久久久| 亚洲wwwwww| 香蕉视频久久| 99久久精品国产高清一区二区| 91麻豆精品国产自产在线观看一区 | 国产亚洲免费观看| 日韩在线观看免费| 欧美国产日韩精品| 欧美激情一区二区三区视频| 天天做日日爱| 国产视频网站在线观看| 国产视频网站在线观看| 国产麻豆精品高清在线播放| 成人免费观看网欧美片| 毛片高清| 亚欧视频在线| 日韩在线观看网站| 精品国产亚洲人成在线| 日日夜夜婷婷| 黄视频网站在线看| 欧美激情一区二区三区中文字幕| 99热热久久| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 欧美激情一区二区三区在线| 日本伦理片网站| 亚洲wwwwww| 毛片高清| 国产一区二区精品尤物| 国产网站在线| 国产不卡在线播放| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 日韩中文字幕在线亚洲一区| 精品在线免费播放| 精品久久久久久中文字幕2017| 日韩男人天堂| 九九九网站| 国产a视频| 国产不卡在线观看视频| 天天做日日爱| 日韩在线观看免费| 中文字幕一区二区三区精彩视频| 九九九网站| 国产韩国精品一区二区三区| 欧美a级成人淫片免费看| 青草国产在线观看| 亚洲爆爽| 久久99青青久久99久久| 精品久久久久久影院免费| 久草免费资源| 超级乱淫伦动漫| 精品视频免费看| 国产成人精品影视| 999精品在线| 毛片高清| 久久国产精品永久免费网站| 99久久精品国产片| 亚欧成人毛片一区二区三区四区| 可以免费看毛片的网站| 久草免费在线观看| 精品久久久久久中文字幕2017| 亚洲精品中文字幕久久久久久| 久久99青青久久99久久| 青青久热| 精品国产一区二区三区免费| 国产网站在线| 亚洲wwwwww| 黄视频网站在线看| 精品国产香蕉伊思人在线又爽又黄| 国产成人精品综合久久久| 精品国产一区二区三区久| 亚洲精品永久一区| 在线观看导航| 国产精品免费久久| 99久久精品国产片| 国产不卡在线播放| 99久久精品国产片| 一级毛片视频播放| 中文字幕一区二区三区精彩视频| 欧美激情在线精品video| 久久成人性色生活片| 精品国产亚一区二区三区| 成人a级高清视频在线观看| 青青久久精品| 久久国产一久久高清| 美女免费精品视频在线观看| 精品国产亚一区二区三区| 国产极品白嫩美女在线观看看| 999久久狠狠免费精品| 台湾美女古装一级毛片| 国产一区二区精品久久91| 国产亚洲免费观看| 99热热久久| 香蕉视频久久| 色综合久久手机在线| 亚洲wwwwww| 二级特黄绝大片免费视频大片| 日韩专区亚洲综合久久| 青青久久精品| 亚洲精品中文字幕久久久久久| 欧美日本免费| 日韩专区亚洲综合久久| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 成人a级高清视频在线观看| 韩国三级视频在线观看| 国产原创视频在线| 可以免费看毛片的网站| 国产视频一区在线| 久久福利影视| 日日夜夜婷婷| 九九九网站| 欧美激情伊人| 91麻豆精品国产高清在线| 久久国产影院| 99热热久久| 久久国产精品自线拍免费| 欧美a级片视频| 一级毛片视频在线观看| 九九国产| 国产亚洲免费观看| 久久99中文字幕久久| 精品久久久久久综合网| 九九精品久久久久久久久| 亚洲 激情| 精品国产三级a| 国产不卡精品一区二区三区| 精品在线免费播放| 四虎久久精品国产| 99久久精品国产片| 欧美一区二区三区在线观看| 欧美a免费| 亚洲精品影院久久久久久| 精品国产亚洲人成在线| 欧美大片一区| 欧美日本免费| 欧美激情在线精品video| 99久久精品国产片| 国产一区二区精品久久91| 高清一级毛片一本到免费观看| 日韩中文字幕在线亚洲一区| 四虎影视久久久免费| 国产成a人片在线观看视频| 色综合久久手机在线| 精品国产一区二区三区久| 欧美国产日韩精品| 久久国产一久久高清| 亚洲wwwwww| 91麻豆国产| 日韩一级黄色| 欧美国产日韩在线| 成人免费一级毛片在线播放视频| 精品久久久久久综合网| 久久久成人网| 久久福利影视| 九九久久国产精品大片|