python開發(fā)之thread線程基礎實例入門
本文實例講述了python開發(fā)之thread線程基礎。分享給大家供大家參考,具體如下:
說到線程,我們要知道啥是串行,啥是并行程序
舉個例子:
串行程序,就是一個一個的執(zhí)行程序
#python threading import time ''' 每一秒中,輸出:this is a demo! ''' def serial(): '''串行輸出''' time.sleep(1) print('this is a demo!') def main(): for i in range(5): serial() if __name__ == '__main__': main()
運行結(jié)果如下:
>>> this is a demo! this is a demo! this is a demo! this is a demo! this is a demo! >>>
并行程序,就是很多個程序在同一時間(宏觀)一起執(zhí)行
#python threading import threading import time ''' 并行執(zhí)行,輸出:Good!Good!Good!Good!Good! ''' def parallel(): '''并行輸出''' time.sleep(1) print('Good!') def main(): for i in range(5): t = threading.Thread(target=parallel) t.start() if __name__ == '__main__': main()
當然我們通過執(zhí)行程序,可以知道,并行程序要比串行程序執(zhí)行的要快....
我們也可以獲取到當前的線程及個數(shù):
#python threading import threading import time ''' 并行執(zhí)行,輸出: [<Thread(Thread-2, started 3480)>, <Thread(Thread-1, started 660)>, <Thread(SockThread, started daemon 2920)>, <Thread(Thread-3, started 916)>, <Thread(Thread-4, started 3476)>, <_MainThread(MainThread, started 3964)>, <Thread(Thread-5, started 2060)>] 存在的線程數(shù) : 7 Good!Good!Good!Good!Good! ''' def parallel(): '''并行輸出''' time.sleep(1) print('Good!') def main(): for i in range(5): t = threading.Thread(target=parallel) t.start() if __name__ == '__main__': main() print(threading.enumerate()) print('存在的線程數(shù) : %d'%threading.active_count())
運行結(jié)果如下:
>>> [<Thread(SockThread, started daemon 15424)>, <Thread(Thread-3, started 15840)>, <Thread(Thread-1, started 10884)>, <Thread(Thread-2, started 14512)>, <Thread(Thread-4, started 13204)>, <_MainThread(MainThread, started 12924)>, <Thread(Thread-5, started 15476)>] 存在的線程數(shù) : 7 >>> Good!Good!Good!Good!Good!
希望本文所述對大家Python程序設計有所幫助。
相關文章
Python命令行參數(shù)argv和argparse該如何使用
這篇文章主要介紹了Python命令行參數(shù)argv和argparse該如何使用,幫助大家更好的理解和學習使用python,感興趣的朋友可以了解下2021-02-02Python 模擬生成動態(tài)產(chǎn)生驗證碼圖片的方法
這篇文章主要介紹了Python 模擬生成動態(tài)產(chǎn)生驗證碼圖片的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-02-02Python DBM模塊輕松使用小型數(shù)據(jù)庫存儲管理數(shù)據(jù)
這篇文章主要介紹了Python DBM模塊輕松使用小型數(shù)據(jù)庫存儲管理數(shù)據(jù),它可以讓你輕松地存儲和管理鍵值對數(shù)據(jù),可以使用 dbm 模塊來操作 DBM 文件,或者使用 shelve 模塊來存儲任意類型的 Python 對象2024-01-01