1. 程式人生 > >多線程(threading)示例

多線程(threading)示例

style 示例 get 對象 col frog 並發 輸出 print

一、多線程簡單示例

import threading,time
print(第一線程(默認):程序開始啦!)
def takeANap():
    time.sleep(5)
    print(第二線程:5秒到,我醒來啦!)

#創建並啟動多線程
t=threading.Thread(target=takeANap)
t.start()

print(第一線程(默認):程序結束啦!)

‘‘‘
輸出:
第一線程(默認):程序開始啦!
第一線程(默認):程序結束啦!
>>> 第二線程:5秒到,我醒來啦!
‘‘‘

二、多線程傳遞多參數、可選參數示例

import threading

##多線程傳遞多參數print(‘Cats‘,‘Dogs‘,‘Frogs‘,sep=‘&‘)=>Cats & Dogs & Frogs:
threadObj = threading.Thread(target=print, args=[Cats, Dogs, Frogs],kwargs={sep:  & })
threadObj.start()

##輸出:Cats & Dogs & Frogs

三、並發問題

可以輕松地創建多個新線程,讓它們同時運行。但多線程也可能會導致所謂的並發問題。如果這些線程同時讀寫變量,導致互相幹擾,就會發生並發問題。並發問題可能很難一致地重現,所以難以調試。多線程編程本身就是一個廣泛的主題。必須記住的是:為了避免並發問題,絕不讓多個線程讀取或寫入相同的變量。當創建一個新的Thread 對象時,要確保其目標函數只使用該函數中的局部變量。這將避免程序中難以調試的並發問題。

多線程(threading)示例