Python threading的使用方法解析

2022-09-27 10:24:09 字數 2173 閱讀 4859

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

import _thread as thread

import time

def loop1(in1):

print("start loop 1 at:", time.ctime())

print("我是引數", in1)

time.sleep(4)

print("end loop 1 at:", time.ctime())

def loop2(in1, in2):

print("start loop 2 at:", time.ctime())

print("我是引數", in1, "和引數 ", in2)

time.sleep(4)

print("end loop 1 at:", time.ctime())

def main():

print("starting at:", time.ctime())

thread.start_new_thread(loop1, ("liuming", ))

# 上面我們傳參的時候, 我用的是:(「 li程式設計客棧uming」), 這裡面是沒有逗號的, 結果編譯報錯, 告訴我, 這裡面必須傳入元組

# 因此, 我才在裡面加了乙個逗號, 使其變成乙個元組

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的例項

格式:t= threading.thread(target=函式體,args=(,))#引數args要傳遞元組

​t.start()#啟動多執行緒

t.join()#等待多執行緒執行完成

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()

從上面可以看出來,我們啟動了兩個執行緒,但是這兩個執行緒執行完了才列印​最後乙個結束語句。

2.守護執行緒

​格式:執行緒.swww.cppcns.cometdaemon(true)

作用​:

(1)如果在程式中將子執行緒設定為守護執行緒,則子執行緒會在主線程結束的時候自動退出​;

(2)一般認為,守護執行緒不重要或者不允許脫離子執行緒而獨立執行;

(3)守護執行緒能否有效果和環境有關係

注意點:該語句一定要寫在start語句之前,否則就會把子程式無限時間掛起,執行報錯,​如:

def fun():

print("start fun")

time.sleep(2)

print("end fun")

​print('main thread')

t3 = threading.thread(target = fun, args = ())

t3.setdaemon(trdibnkjjeue)

t3.start()

time.sleewww.cppcns.comp(1)

print("main thread end")

​解釋:我們可以看出主線程結束後(即列印完了」main thread end")後,我們的子執行緒的最後乙個列印沒有出來,程式就結束了,說明主線程結束,子執行緒無論執行到**都會被kill掉,和我們的預期一樣。

三、原始碼

d24_2_usage_of_threading.py

位址:本文標題: python threading的使用方法解析

本文位址:

Python threading多執行緒

目錄1 2 lock encoding utf 8 import threading import time from queue import queue def thread 1 job print thread 1 start n for i in range 10 time.sleep 0....

Python threading(執行緒模組)

建立和使用方式基本和程序一致。有關執行緒的文字講述,請見 計算機 程序 執行緒 協程 import time from threading import thread,current thread,enumerate,active count def func i1,i2 i i1 i2 time....

簡述python(threading)多執行緒

一.概述 import threading 呼叫 t1 threading.thread target function args join 在子執行緒完成執行之前,這個子執行緒的父執行緒將一直被阻塞。setdaemon true 將執行緒宣告為守護執行緒,必須在start 方法呼叫之前設定,如果不...