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

Python threading的使用方法解析

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

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

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", ))
# 上面我們傳參的時候, 我用的是:(“ liuming”), 這里面是沒有逗號的, 結(jié)果編譯報(bào)錯, 告訴我, 這里面必須傳入元組
# 因此, 我才在里面加了一個逗號, 使其變成一個元組
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()#啟動多線程

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

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

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

2.守護(hù)線程

​格式:線程.setDaemon(True)

作用​:

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

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

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

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

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")后,我們的子線程的最后一個打印沒有出來,程序就結(jié)束了,說明主線程結(jié)束,子線程無論執(zhí)行到哪里都會被kill掉,和我們的預(yù)期一樣。

三、源碼

d24_2_usage_of_threading.py

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

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

相關(guān)文章

最新評論

顺平县| 湘乡市| 洱源县| 唐海县| 宜君县| 大新县| 遂平县| 康马县| 通河县| 扬州市| 咸阳市| 西乌| 隆子县| 江西省| 富蕴县| 准格尔旗| 潜江市| 金寨县| 西昌市| 桃园县| 阿坝| 额济纳旗| 安溪县| 武汉市| 平陆县| 依安县| 罗定市| 孟州市| 广德县| 岑溪市| 炎陵县| 皋兰县| 武穴市| 故城县| 高台县| 仙居县| 平定县| 盐城市| 当涂县| 青阳县| 永康市|