亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python線程的幾種創(chuàng)建方式詳解

 更新時間:2019年08月29日 10:01:30   作者:三國小夢  
這篇文章主要介紹了python線程的幾種創(chuàng)建方式詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

Python3 線程中常用的兩個模塊為:

  • _thread
  • threading(推薦使用)

使用Thread類創(chuàng)建

import threading
from time import sleep,ctime
def sing():
  for i in range(3):
    print("正在唱歌...%d"%i)
    sleep(1)
def dance():
  for i in range(3):
    print("正在跳舞...%d"%i)
    sleep(1)
if __name__ == '__main__':
  print('---開始---:%s'%ctime())
  t1 = threading.Thread(target=sing)
  t2 = threading.Thread(target=dance)
  t1.start()
  t2.start()
  #sleep(5) # 屏蔽此行代碼,試試看,程序是否會立馬結(jié)束?
  print('---結(jié)束---:%s'%ctime())
"""
輸出結(jié)果:
---開始---:Sat Aug 24 08:44:21 2019
正在唱歌...0
正在跳舞...0---結(jié)束---:Sat Aug 24 08:44:21 2019
正在唱歌...1
正在跳舞...1
正在唱歌...2
正在跳舞...2
"""

說明:主線程會等待所有的子線程結(jié)束后才結(jié)束

使用Thread子類創(chuàng)建

為了讓每個線程的封裝性更完美,所以使用threading模塊時,往往會定義一個新的子類class,只要繼承threading.Thread就可以了,然后重寫run方法。

import threading
import time

class MyThread(threading.Thread):
  def run(self):
    for i in range(3):
      time.sleep(1)
      msg = "I'm "+self.name+' @ '+str(i) #name屬性中保存的是當前線程的名字
      print(msg)
if __name__ == '__main__':
  t = MyThread()
  t.start()
"""
輸出結(jié)果:
I'm Thread-5 @ 0
I'm Thread-5 @ 1
I'm Thread-5 @ 2
"""

使用線程池ThreadPoolExecutor創(chuàng)建

from concurrent.futures import ThreadPoolExecutor
import time
import os
def sayhello(a):
  for i in range(10):
    time.sleep(1)
    print("hello: " + a)
def main():
  seed = ["a", "b", "c"]
  # 最大線程數(shù)為3,使用with可以自動關(guān)閉線程池,簡化操作
  with ThreadPoolExecutor(3) as executor:
    for each in seed: 
      # map可以保證輸出的順序, submit輸出的順序是亂的
      executor.submit(sayhello, each)
  print("主線程結(jié)束")
if __name__ == '__main__':
  main()

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python interpolate插值實例

    python interpolate插值實例

    這篇文章主要介紹了python interpolate插值實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Python實現(xiàn)輕松讀取大文件的技巧揭秘

    Python實現(xiàn)輕松讀取大文件的技巧揭秘

    Python提供了多種方法來讀取文件內(nèi)容,其中包括read()、readline()和readlines()三個常用的函數(shù),本文將深入探討這三個函數(shù)的使用方法,需要的可以參考一下
    2023-08-08
  • Python Scrapy框架第一個入門程序示例

    Python Scrapy框架第一個入門程序示例

    這篇文章主要介紹了Python Scrapy框架第一個入門程序,結(jié)合實例形式分析了Python Scrapy框架項目的搭建、抓取字段設(shè)置、數(shù)據(jù)庫保存等相關(guān)操作技巧,需要的朋友可以參考下
    2020-02-02
  • Python實現(xiàn)的百度站長自動URL提交小工具

    Python實現(xiàn)的百度站長自動URL提交小工具

    這篇文章主要介紹了Python實現(xiàn)的百度站長自動URL提交小工具,主要難點在驗證碼識別部分,研究驗證碼識別的朋友可以參考下
    2014-06-06
  • 使用Python進行同期群分析(Cohort?Analysis)

    使用Python進行同期群分析(Cohort?Analysis)

    同期群(Cohort)的字面意思(有共同特點或舉止類同的)一群人,比如不同性別,不同年齡。這篇文章主要介紹了用Python語言來進行同期群分析,感興趣的同學可以閱讀參考一下本文
    2023-03-03
  • Python中Sorted()函數(shù)的key參數(shù)使用方法詳解

    Python中Sorted()函數(shù)的key參數(shù)使用方法詳解

    這篇文章主要介紹了關(guān)于Python中Sorted()函數(shù)的key參數(shù)使用方法 ,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-06-06
  • 提高Python生產(chǎn)力的五個Jupyter notebook插件

    提高Python生產(chǎn)力的五個Jupyter notebook插件

    Jupyter Notebook 因其可用性和實用性而成為數(shù)據(jù)分析和機器學習模型領(lǐng)域最流行的 IDE,它也是很多數(shù)據(jù)初學者的首選 IDE。它最具特色的是,擁有豐富的插件、擴展數(shù)據(jù)處理能力和提升工作效率
    2021-11-11
  • 解決matplotlib.pyplot在Jupyter notebook中不顯示圖像問題

    解決matplotlib.pyplot在Jupyter notebook中不顯示圖像問題

    這篇文章主要介紹了解決matplotlib.pyplot在Jupyter notebook中不顯示圖像問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python圖像處理之識別圖像中的文字(實例講解)

    Python圖像處理之識別圖像中的文字(實例講解)

    今天小編就為大家分享一篇Python圖像處理之識別圖像中的文字(實例講解),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Python實現(xiàn)隨機劃分圖片數(shù)據(jù)集的示例代碼

    Python實現(xiàn)隨機劃分圖片數(shù)據(jù)集的示例代碼

    這篇文章主要為大家詳細介紹了如何通過Python實現(xiàn)隨機將圖片與標注文件劃分為訓練集和測試集,文中的示例代碼簡潔易懂,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-05-05

最新評論