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

python threading模塊的使用指南

 更新時(shí)間:2021年06月05日 15:32:22   作者:松鼠愛出餅干  
python的thread模塊是底層的模塊,python的threading模塊是對thread做了一些包裝的,可以更加方便的被使用。本文詳細(xì)的講述了threading模塊的用法

1. threding模塊創(chuàng)建線程對象

接上述案例,我們可以利用程序阻塞的時(shí)間讓程序執(zhí)行后面的任務(wù),可以用多線程的方式去實(shí)現(xiàn)。對應(yīng)的需要我們借助threading模塊去實(shí)現(xiàn):
如下所示

import time
import threading
def work():
"""只有函數(shù)對象才能佈田名線積"""
print('5.洗茶杯: 1min ' )
time.sleep(1)
print('6.放茶葉: 1min ' )
time.sleep(1)

start_time = time .time()
print( '1.洗壺: 1min ' )
time.s1eep(1)
print( '2.灌涼水:1min ' )
time.sleep(1)
print( '3.燒水: 1min ' )
time.sleep(1)
print( '4.等水燒開:3min ' )
work_thread = threading.Thread(target=work)

# 啟動(dòng)線程對象
work_thread.start()
time.sleep(1) # 5.洗茶杯: 1min
time.sleep(1) # 6.放茶葉: 1min
time.sleep(1)
print( '7.泡茶:1min ' )
time.sleep(1)
print('總共花了: ',time.time() - start_time)

以上案例是一個(gè)單線程,需要特別注意的是threading模塊操作線程所操作的必須是函數(shù)對象。通過threding模塊可以把一個(gè)普通的函數(shù)對象轉(zhuǎn)化為線程對象。

2. threding模塊創(chuàng)建多線程

當(dāng)一個(gè)進(jìn)程啟動(dòng)之后,會(huì)默認(rèn)產(chǎn)生一個(gè)主線程,因?yàn)榫€程是程序執(zhí)行流的最小單元,當(dāng)設(shè)置多線程時(shí),主線程會(huì)創(chuàng)建多個(gè)子線程,在python中,默認(rèn)情況下,主線程執(zhí)行完自己的任務(wù)以后,就退出了,此時(shí)子線程會(huì)繼續(xù)執(zhí)行自己的任務(wù),直到自己的任務(wù)結(jié)束。

import time
import threading

def upload():
print("開始上傳文件...")
time.sleep(2)
print("完成上傳文件...")

def down1oad():
print("開始下載文件...")
time.s1eep(2)
print("完成下載文件...")

if __name__ == '__main__':
upload_thread = threading.Thread(target=up1oad)
up1oad_thread .start()
up1oad_thread.join()
down1oad_thread = threading.Thread(target=down1oad,daemon=True)
down1oad_thread.start()
print('主線程結(jié)束')

也就是說主線程在分配任務(wù)時(shí)會(huì)創(chuàng)建多個(gè)子線程,子線程的任務(wù)進(jìn)度不會(huì)阻礙主線程的執(zhí)行。但是主線程會(huì)等待子線程執(zhí)行任務(wù)完之后才結(jié)束主線程。也就是說實(shí)際上主線程是先執(zhí)行完任務(wù)的,如果你想在主線程執(zhí)行完之后就結(jié)束整個(gè)線程的話,那么可以設(shè)置守護(hù)主線程。

3. 多線程的參數(shù)傳遞

多線程的參數(shù)傳遞用args接受位置參數(shù),用kwargs接受關(guān)鍵字參數(shù)。如下所示:

import threading

def get(ur1,header=None):
    print(ur1)
    print(header)

for url in [ 'https : / /www.baidu.com', 'https:/ /www. soso.com ' ,' https: / /www . 360. com']:
    # threading.Thread
get_thread = threading. Thread(target=get,args=(ur1, ), kwargs={ ' header ':{ 'user-agent ' : ' pythonrequests'}})
    get_thread.start

4. 線程產(chǎn)生的資源競爭

首先我們來看一個(gè)案例:

import threading
import time
import random

def add1(n):
    for i in range(100) :
        time.sleep(random.randint(1,3))
        with open( 'he7lo.txt', mode='a', encoding='utf-8 ' ) as f:
            f.write(f'in} he1lo wor1d !'+ 'he7lo wor1d !'*1024)
            f.write(' \n ')

if __name__ == '___main__' :
    for n in range(10) :
        t1 = threading. Thread(target=add1,args=(n,))
        t1.start()

以上就是python threading模塊的使用指南的詳細(xì)內(nèi)容,更多關(guān)于python threading模塊的使用的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python實(shí)現(xiàn)疫情通定時(shí)自動(dòng)填寫功能(附代碼)

    Python實(shí)現(xiàn)疫情通定時(shí)自動(dòng)填寫功能(附代碼)

    這篇文章主要介紹了Python實(shí)現(xiàn)疫情通定時(shí)自動(dòng)填寫功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • python中的queue隊(duì)列類型及函數(shù)用法

    python中的queue隊(duì)列類型及函數(shù)用法

    這篇文章主要介紹了python中的queue隊(duì)列類型及函數(shù)用法,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • python3讀取csv文件任意行列代碼實(shí)例

    python3讀取csv文件任意行列代碼實(shí)例

    這篇文章主要介紹了python3讀取csv文件任意行列代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • python中?conda?虛擬環(huán)境管理和jupyter內(nèi)核管理

    python中?conda?虛擬環(huán)境管理和jupyter內(nèi)核管理

    這篇文章主要介紹了python中?conda?虛擬環(huán)境管理和jupyter內(nèi)核管理,文章基于pyhton以及conda的虛擬環(huán)境創(chuàng)建、刪除、jupyter添加、刪除虛擬kernel的方法,需要的朋友可以參考一下
    2022-04-04
  • 數(shù)據(jù)驅(qū)動(dòng)測試DDT之Selenium讀取Excel文件

    數(shù)據(jù)驅(qū)動(dòng)測試DDT之Selenium讀取Excel文件

    這篇文章主要為大家介紹了數(shù)據(jù)驅(qū)動(dòng)測試DDT之Selenium讀取Excel文件,
    2021-11-11
  • pygame學(xué)習(xí)筆記(1):矩形、圓型畫圖實(shí)例

    pygame學(xué)習(xí)筆記(1):矩形、圓型畫圖實(shí)例

    這篇文章主要介紹了pygame學(xué)習(xí)筆記(1):矩形、圓型畫圖實(shí)例,本文講解了pygame窗口、窗口退出、pygame中的顏色、圓形、矩形及一個(gè)完整實(shí)例,需要的朋友可以參考下
    2015-04-04
  • Python中__init__.py文件的作用詳解

    Python中__init__.py文件的作用詳解

    __init__.py 文件的作用是將文件夾變?yōu)橐粋€(gè)Python模塊,Python 中的每個(gè)模塊的包中,都有__init__.py 文件.這篇文章主要介紹了Python中__init__.py文件的作用詳解,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-09-09
  • Python使用Tkinter?GUI實(shí)現(xiàn)輸入驗(yàn)證功能

    Python使用Tkinter?GUI實(shí)現(xiàn)輸入驗(yàn)證功能

    這篇文章主要介紹了Python中使用Tkinter?GUI實(shí)現(xiàn)輸入驗(yàn)證,文中通過一個(gè)完整示例代碼給大家介紹Python?Tkinter?GUI輸入驗(yàn)證功能,需要的朋友可以參考下
    2022-04-04
  • Django框架下在視圖中使用模版的方法

    Django框架下在視圖中使用模版的方法

    這篇文章主要介紹了Django框架下在視圖中使用模版的方法,Django是Python豐富多彩的眾框架中最有人氣的一個(gè),需要的朋友可以參考下
    2015-07-07
  • pandas 給dataframe添加列名的兩種方法

    pandas 給dataframe添加列名的兩種方法

    DataFrame的單元格可以存放數(shù)值、字符串等,本文主要介紹了pandas 給dataframe添加列名的兩種方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06

最新評論

申扎县| 苏尼特右旗| 纳雍县| 临安市| 高安市| 福建省| 永和县| 黄大仙区| 当雄县| 普格县| 扶绥县| 图木舒克市| 黑龙江省| 高州市| 邓州市| 东丽区| 黔江区| 杭锦后旗| 牟定县| 通榆县| 浦县| 阜平县| 济宁市| 莱芜市| 龙井市| 昭平县| 尉犁县| 满洲里市| 沙坪坝区| 万全县| 北安市| 渑池县| 宾阳县| 页游| 常熟市| 孝感市| 新巴尔虎右旗| 榆林市| 吉林市| 涟源市| 巴南区|