日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python 多线程 模块_Python多线程threading和multiprocessing模块实例解析

發布時間:2025/3/15 python 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 多线程 模块_Python多线程threading和multiprocessing模块实例解析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文研究的主要是Python多線程threading和multiprocessing模塊的相關內容,具體介紹如下。

線程是一個進程的實體,是由表示程序運行狀態的寄存器(如程序計數器、棧指針)以及堆棧組成,它是比進程更小的單位。

線程是程序中的一個執行流。一個執行流是由CPU運行程序代碼并操作程序的數據所形成的。因此,線程被認為是以CPU為主體的行為。

線程不包含進程地址空間中的代碼和數據,線程是計算過程在某一時刻的狀態。所以,系統在產生一個線程或各個線程之間切換時,負擔要比進程小得多。

線程是一個用戶級的實體,線程結構駐留在用戶空間中,能夠被普通的用戶級函數直接訪問。

一個線程本身不是程序,它必須運行于一個程序(進程)之中。因此,線程可以定義為一個程序中的單個執行流。

多線程是指一個程序中包含多個執行流,多線程是實現并發的一種有效手段。一個進程在其執行過程中,可以產生多個線程,形成多個執行流。每個執行流即每個線程也有它自身的產生、存在和消亡的過程。

多線程程序設計的含義就是可以將程序任務分成幾個并行的子任務。

線程的狀態圖:

Python中常使用的線程模塊

thread(低版本使用的),threading

Queue

multiprocessing

threading

thread模塊是Python低版本中使用的,高版本中被threading代替了。threading模塊提供了更方便的API來操作線程。

threading.Thread

Thread是threading模塊中最重要的類之一,可以使用它來創建線程。創建新的線程有兩種方法:

方法一:直接創建threading.Thread類的對象,初始化時將可調用對象作為參數傳入。

方法二:通過繼承Thread類,重寫它的run方法。

Thread類的構造方法:

__init__(group=None, target=None, name=None, args=(), kwargs=None, verbose=None)

參數說明:

group:線程組,目前還沒有實現,庫引用中提示必須是None。

target:要執行的方法;

name:線程名;

args/kwargs:要傳入方法的參數。

Thread類擁有的實例方法:

isAlive():返回線程是否在運行。正在運行指的是啟動后,終止前。

getName(name)/setName(name):獲取/設置線程名。

isDaemon(bool)/setDaemon(bool):獲取/設置是否為守護線程。初始值從創建該線程的線程繼承而來,當沒有非守護線程仍在運行時,程序將終止。

start():啟動線程。

join([timeout]):阻塞當前上下文環境的線程,直到調用此方法的線程終止或到達指定的等待時間timeout(可選參數)。即當前的線程要等調用join()這個方法的線程執行完,或者是達到規定的時間。

總結

以上是生活随笔為你收集整理的python 多线程 模块_Python多线程threading和multiprocessing模块实例解析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。