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

Python創(chuàng)建多線程的兩種常用方法總結

 更新時間:2023年05月16日 11:52:16   作者:不想賴床  
這篇文章主要為大家詳細介紹了Python中創(chuàng)建多線程的兩種常用方法,文中的示例代碼簡潔易懂,對我們掌握Python有一定的幫助,需要的可以收藏一下

經過總結,Python創(chuàng)建多線程主要有如下兩種方法:

  • 函數

接下來,我們就來揭開多線程的神秘面紗。

1. 用函數創(chuàng)建多線程

在Python3中,Python提供了一個內置模塊 threading.Thread,可以很方便地讓我們創(chuàng)建多線程。

threading.Thread() 一般接收兩個參數:

  • 線程函數名:要放置線程讓其后臺執(zhí)行的函數,由我們自已定義,注意不要加();
  • 線程函數的參數:線程函數名所需的參數,以元組的形式傳入。若不需要參數,可以不指定。

舉個例子

import time
from threading import Thread

# 自定義線程函數。
def target(name="Python"):
    for i in range(2):
        print("hello", name)
        time.sleep(1)

# 創(chuàng)建線程01,不指定參數
thread_01 = Thread(target=target)
# 啟動線程01
thread_01.start()


# 創(chuàng)建線程02,指定參數,注意逗號
thread_02 = Thread(target=target, args=("MING",))
# 啟動線程02
thread_02.start()

可以看到輸出

hello Python
hello MING
hello Python
hello MING

2. 用類創(chuàng)建多線程

相比較函數而言,使用類創(chuàng)建線程,會比較麻煩一點。

首先,我們要自定義一個類,對于這個類有兩點要求,

  • 必須繼承 threading.Thread 這個父類;
  • 必須復寫 run 方法。

這里的 run 方法,和我們上面線程函數的性質是一樣的,可以寫我們的業(yè)務邏輯程序。在 start() 后將會調用。

來看一下例子 為了方便對比,run函數我復用上面的main。

import time
from threading import Thread

class MyThread(Thread):
    def __init__(self, type="Python"):
        # 注意:super().__init__() 必須寫
        # 且最好寫在第一行
        super().__init__()
        self.type=type

    def run(self):
        for i in range(2):
            print("hello", self.type)
            time.sleep(1)

if __name__ == '__main__':
    # 創(chuàng)建線程01,不指定參數
    thread_01 = MyThread()
    # 創(chuàng)建線程02,指定參數
    thread_02 = MyThread("MING")

    thread_01.start()
    thread_02.start()

當然結果也是一樣的。

hello Python
hello MING
hello Python
hello MING

3. 線程對象的方法

上面介紹了當前 Python 中創(chuàng)建線程兩種主要方法。

創(chuàng)建線程是件很容易的事,但要想用好線程,還需要學習線程對象的幾個函數。

經過我的總結,大約常用的方法有如下這些:

# 如上所述,創(chuàng)建一個線程
t=Thread(target=func)

# 啟動子線程
t.start()

# 阻塞子線程,待子線程結束后,再往下執(zhí)行
t.join()

# 判斷線程是否在執(zhí)行狀態(tài),在執(zhí)行返回True,否則返回False
t.is_alive()
t.isAlive()

# 設置線程是否隨主線程退出而退出,默認為False
t.daemon = True
t.daemon = False

# 設置線程名
t.name = "My-Thread"

到此這篇關于Python創(chuàng)建多線程的兩種常用方法總結的文章就介紹到這了,更多相關Python創(chuàng)建多線程內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 解決pycharm安裝scrapy DLL load failed:找不到指定的程序的問題

    解決pycharm安裝scrapy DLL load failed:找不到指定的程序的問題

    很多朋友向小編求助pycharm安裝scrapy DLL load failed:找不到指定的程序的問題,就這一問題小編在window10 + anaconda3 +pycharm2020.1.1 + scrapy安裝親測可用,下面把我的處理過程分享到腳本之家平臺,供大家參考
    2021-06-06
  • Anaconda安裝pytorch和paddle的方法步驟

    Anaconda安裝pytorch和paddle的方法步驟

    本文主要介紹了Anaconda安裝pytorch和paddle的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-04-04
  • 深入理解Python虛擬機中魔術方法的使用

    深入理解Python虛擬機中魔術方法的使用

    這篇文章主要給大家介紹在?cpython?當中一些比較花里胡哨的魔術方法,以幫助我們自己實現比較花哨的功能,當然這其中也包含一些也非常實用的魔術方法,需要的可以參考下
    2023-05-05
  • python批量替換多文件字符串問題詳解

    python批量替換多文件字符串問題詳解

    批量替換是我們在日常工作中經常會遇到的一個問題,下面這篇文章主要給大家介紹了關于python批量替換多文件字符串問題的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧。
    2018-04-04
  • python標識符的用法及注意事項

    python標識符的用法及注意事項

    在本篇文章里小編給大家整理了一篇關于python標識符的用法及注意事項相關內容,有需要的朋友們可以學習下。
    2021-09-09
  • 數據可視化Pyecharts的實際使用方式

    數據可視化Pyecharts的實際使用方式

    這篇文章主要介紹了數據可視化Pyecharts的實際使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • Python 多線程處理任務實例

    Python 多線程處理任務實例

    這篇文章主要介紹了Python 多線程處理任務,下面文章利用一個真實實例圍繞Python 多線程處理任務的相關資料展開內容,需要的朋友可以參考一下
    2021-11-11
  • Python 腳本拉取 Docker 鏡像問題

    Python 腳本拉取 Docker 鏡像問題

    這篇文章主要介紹了 Python 腳本拉取 Docker 鏡像問題,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-11-11
  • Python編程快速上手——PDF文件操作案例分析

    Python編程快速上手——PDF文件操作案例分析

    這篇文章主要介紹了Python 文件操作,結合具體實例形式分析了Python針對pdf文件的遍歷、讀寫、加密、解密等相關操作技巧與注意事項,需要的朋友可以參考下
    2020-02-02
  • tensorflow學習筆記之tfrecord文件的生成與讀取

    tensorflow學習筆記之tfrecord文件的生成與讀取

    這篇文章主要介紹了tensorflow學習筆記之tfrecord文件的生成與讀取,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03

最新評論

泰州市| 宜兴市| 威信县| 泾源县| 临高县| 黔江区| 南召县| 台南县| 天等县| 罗城| 乾安县| 从江县| 武功县| 沧州市| 云霄县| 田林县| 天门市| 井研县| 新龙县| 大姚县| 郸城县| 常山县| 吉安县| 喀喇沁旗| 涡阳县| 南陵县| 岱山县| 库尔勒市| 武乡县| 方山县| 崇文区| 桐柏县| 吉木萨尔县| 黎平县| 沁水县| 泾源县| 囊谦县| 浏阳市| 营山县| 潜江市| 沙坪坝区|