【強基09】Python 對有形參傳遞的函式或類進行多執行緒操作
阿新 • • 發佈:2021-12-25
需求:本來張三澆花要6秒鐘的時間,露絲鑽孔要5秒鐘的時間,總共需要11秒的時間,設計個方案,讓他們倆把活都幹出來,並且時間越短越好 那就執行緒雙開吧,哈哈哈 import time from threading import Thread def work1(name): for i in range(6): time.sleep(1) print('work1----{}在澆花的第{}秒'.format(name, i + 1)) def work2(name, age): for i in range(5): time.sleep(1) print('work2---{}今年{}歲,在鑽孔的第{}秒'.format(name, age, i + 1)) if __name__ == '__main__': # 注意target 後面的值不能加括號 # 方式1:通過args傳遞引數,注意點:args是個元祖,加個逗號 t1 = Thread(target=work1, args=('張三',)) # 方式2:通過kwargs傳遞引數,注意點:kwargs是個字典,key的值要和引數名一致 t2 = Thread(target=work2, kwargs={'name': '露絲', 'age': 108}) # 執行執行緒 t1.start() t2.start()
執行結果如下:
work1----張三在澆花的第1秒
work2---露絲今年108歲,在鑽孔的第1秒
work1----張三在澆花的第2秒
work2---露絲今年108歲,在鑽孔的第2秒
work1----張三在澆花的第3秒
work2---露絲今年108歲,在鑽孔的第3秒
work1----張三在澆花的第4秒
work2---露絲今年108歲,在鑽孔的第4秒
work1----張三在澆花的第5秒
work2---露絲今年108歲,在鑽孔的第5秒
work1----張三在澆花的第6秒