欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python threading的使用方法解析

 更新時(shí)間:2019年08月28日 11:00:19   作者:心悅君兮君不知-睿  
這篇文章主要介紹了Python threading的使用方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

一、 例子:我們對(duì)傳參是有要求的必須傳入一個(gè)元組,否則報(bào)錯(cuò)

import _thread as thread
import time
def loop1(in1):
  print("Start loop 1 at:", time.ctime())
print("我是參數(shù)", in1)
time.sleep(4)
print("End loop 1 at:", time.ctime())
def loop2(in1, in2):
  print("Start loop 2 at:", time.ctime())
print("我是參數(shù)", in1, "和參數(shù) ", in2)
time.sleep(4)
print("End loop 1 at:", time.ctime())
def main():
  print("Starting at:", time.ctime())
thread.start_new_thread(loop1, ("liuming", ))
# 上面我們傳參的時(shí)候, 我用的是:(“ liuming”), 這里面是沒(méi)有逗號(hào)的, 結(jié)果編譯報(bào)錯(cuò), 告訴我, 這里面必須傳入元組
# 因此, 我才在里面加了一個(gè)逗號(hào), 使其變成一個(gè)元組
thread.start_new_thread(loop2, ("zhanglei", "liuhao"))
print("All done at:", time.ctime())
if __name__ == "__main__":
  main()
while True:
  time.sleep(10)
​

二、threading的使用

直接利用threading.Thread生成Thread的實(shí)例

格式:

t= threading.Thread(target=函數(shù)體,args=(,))#參數(shù)args要傳遞元組

​t.start()#啟動(dòng)多線程

t.join()#等待多線程執(zhí)行完成

def main():
  print("Start at :", time.ctime())
t1 = threading.Thread(target = loop1, args = ("王老大", ))
t1.start()# 啟動(dòng)多線程
t2 = threading.Thread(target = loop2, args = ("孫子", "好嗎"))
t2.start()
t1.join()
t2.join()
print("End at :", time.ctime())
if __name__ == "__main__":
  main()

從上面可以看出來(lái),我們啟動(dòng)了兩個(gè)線程,但是這兩個(gè)線程執(zhí)行完了才打印​最后一個(gè)結(jié)束語(yǔ)句。

2.守護(hù)線程

​格式:線程.setDaemon(True)

作用​:

(1)如果在程序中將子線程設(shè)置為守護(hù)線程,則子線程會(huì)在主線程結(jié)束的時(shí)候自動(dòng)退出​;

(2)一般認(rèn)為,守護(hù)線程不重要或者不允許脫離子線程而獨(dú)立運(yùn)行;

(3)守護(hù)線程能否有效果和環(huán)境有關(guān)系

注意點(diǎn):該語(yǔ)句一定要寫(xiě)在start語(yǔ)句之前,否則就會(huì)把子程序無(wú)限時(shí)間掛起,運(yùn)行報(bào)錯(cuò),​如:

def fun():
  print("Start fun")
time.sleep(2)
print("End fun")
​print('Main thread')
t3 = threading.Thread(target = fun, args = ())
t3.setDaemon(True)
t3.start()
time.sleep(1)
print("Main thread End")

​解釋:我們可以看出主線程結(jié)束后(即打印完了”Main thread End")后,我們的子線程的最后一個(gè)打印沒(méi)有出來(lái),程序就結(jié)束了,說(shuō)明主線程結(jié)束,子線程無(wú)論執(zhí)行到哪里都會(huì)被kill掉,和我們的預(yù)期一樣。

三、源碼

d24_2_usage_of_threading.py

地址:https://github.com/ruigege66/Python_learning/blob/master/d24_2_usage_of_threading.py

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python實(shí)現(xiàn)多行注釋的另類方法

    Python實(shí)現(xiàn)多行注釋的另類方法

    這篇文章主要介紹了Python實(shí)現(xiàn)多行注釋的另類方法,本文使用的是Python多行文本功能來(lái)另類的實(shí)現(xiàn)Python的多行注釋,需要的朋友可以參考下
    2014-08-08
  • 跟老齊學(xué)Python之玩轉(zhuǎn)字符串(2)更新篇

    跟老齊學(xué)Python之玩轉(zhuǎn)字符串(2)更新篇

    本文是玩轉(zhuǎn)字符串的續(xù)篇,繼續(xù)對(duì)字符串的連接方法進(jìn)行介紹,以及字符串復(fù)制、字符串長(zhǎng)度、字符大小寫(xiě)的轉(zhuǎn)換。非常不錯(cuò)的文章,希望對(duì)大家有所幫助
    2014-09-09
  • 利用Python?requests庫(kù)爬取高德地圖全國(guó)地鐵站點(diǎn)信息

    利用Python?requests庫(kù)爬取高德地圖全國(guó)地鐵站點(diǎn)信息

    requests?模塊是?python?基于?urllib,采用?Apache2?Licensed?開(kāi)源協(xié)議的?HTTP?庫(kù),它比?urllib?更加方便,可以節(jié)約我們大量的工作,完全滿足?HTTP?測(cè)試需求,這篇文章主要介紹了利用Python?requests庫(kù)爬取高德地圖全國(guó)地鐵站點(diǎn)信息,需要的朋友可以參考下
    2024-03-03
  • Python實(shí)現(xiàn)甘特圖繪制的示例詳解

    Python實(shí)現(xiàn)甘特圖繪制的示例詳解

    相信在平常實(shí)際工作當(dāng)中,需要對(duì)整體的項(xiàng)目做一個(gè)梳理,這時(shí)如果有一個(gè)網(wǎng)頁(yè)應(yīng)用能夠?qū)φw項(xiàng)目有一個(gè)可視化頁(yè)面的展示,是不是會(huì)對(duì)你的實(shí)際工作有所幫助呢?今天小編就通過(guò)Python+Streamlit框架來(lái)繪制甘特圖并制作可視化大屏,需要的可以參考一下
    2023-04-04
  • python源碼剖析之PyObject詳解

    python源碼剖析之PyObject詳解

    Python實(shí)現(xiàn)了完全的面向?qū)ο蟮恼Z(yǔ)言特性,所有的類均繼承自object基類,對(duì)應(yīng)著實(shí)現(xiàn)層面的PyObject.為了實(shí)現(xiàn)多態(tài)的特性,Python的實(shí)現(xiàn)過(guò)程維護(hù)了一個(gè)類型對(duì)象系統(tǒng),用來(lái)記錄類型信息和維護(hù)類的函數(shù)成員,本文為大家詳細(xì)介紹了PyObject,需要的朋友可以參考下
    2021-05-05
  • python利用pymysql和openpyxl實(shí)現(xiàn)操作MySQL數(shù)據(jù)庫(kù)并插入數(shù)據(jù)

    python利用pymysql和openpyxl實(shí)現(xiàn)操作MySQL數(shù)據(jù)庫(kù)并插入數(shù)據(jù)

    這篇文章主要為大家詳細(xì)介紹了如何使用Python連接MySQL數(shù)據(jù)庫(kù),并從Excel文件中讀取數(shù)據(jù),將其插入到MySQL數(shù)據(jù)庫(kù)中,有需要的小伙伴可以參考一下
    2023-10-10
  • Python疫情數(shù)據(jù)可視化分析

    Python疫情數(shù)據(jù)可視化分析

    這篇文章主要介紹了Python疫情數(shù)據(jù)可視化分析,本數(shù)據(jù)集主要涉及到全球疫情統(tǒng)計(jì),包括確診、治愈、死亡、時(shí)間、國(guó)家、地區(qū)等信息,需要的朋友可以參考一下
    2022-07-07
  • 基于Python實(shí)現(xiàn)人臉識(shí)別相似度對(duì)比功能

    基于Python實(shí)現(xiàn)人臉識(shí)別相似度對(duì)比功能

    人臉識(shí)別技術(shù)是一種通過(guò)計(jì)算機(jī)對(duì)人臉圖像進(jìn)行分析和處理,從而實(shí)現(xiàn)自動(dòng)識(shí)別和辨認(rèn)人臉的技術(shù),隨著計(jì)算機(jī)視覺(jué)和模式識(shí)別領(lǐng)域的快速發(fā)展,人臉識(shí)別技術(shù)取得了長(zhǎng)足的進(jìn)步,本文給大家介紹了基于Python實(shí)現(xiàn)人臉識(shí)別相似度對(duì)比功能,感興趣的朋友可以參考下
    2024-01-01
  • Django接受前端數(shù)據(jù)的幾種方法總結(jié)

    Django接受前端數(shù)據(jù)的幾種方法總結(jié)

    下面小編就為大家?guī)?lái)一篇Django接受前端數(shù)據(jù)的幾種方法總結(jié)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-11-11
  • python利用pd.cut()和pd.qcut()對(duì)數(shù)據(jù)進(jìn)行分箱操作

    python利用pd.cut()和pd.qcut()對(duì)數(shù)據(jù)進(jìn)行分箱操作

    本文主要介紹了python利用pd.cut()和pd.qcut()對(duì)數(shù)據(jù)進(jìn)行分箱操作,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06

最新評(píng)論