對於第一次接觸到python這門程式語言的朋友來說,剛開始學習python線程模組的時候,對於python中線程模組這一方面的了解比較少,在這篇文章之中我們就來了解關於python線程模組的知識吧。廢話不多說,我們開始學習線程模組吧。
什麼是線程模組
Python透過兩個標準函式庫thread和threading提供對執行緒的支援。 thread提供了低階的、原始的執行緒以及一個簡單的鎖。
threading 模組提供的其他方法:
1.threading.currentThread(): 傳回目前的執行緒變數。
2.threading.enumerate(): 傳回一個包含正在執行的執行緒的list。正在執行指執行緒啟動後、結束前,不包含啟動前和終止後的執行緒。
3.threading.activeCount(): 傳回正在執行的執行緒數量,與len(threading.enumerate())有相同的結果。
除了使用方法外,線程模組同樣提供了Thread類別來處理線程,Thread類別提供了以下方法:
1.run(): 用來表示線程活動的方法。
2.start():啟動執行緒活動。
3.join([time]): 等待至執行緒中止。這阻塞調用線程直至線程的join() 方法被調用中止-正常退出或拋出未處理的異常-或者是可選的超時發生。
4.isAlive(): 傳回執行緒是否活動的。
5.getName(): 傳回執行緒名稱。
6.setName(): 設定執行緒名稱。
使用使Threading模組建立線程
使用Threading模組建立線程,直接從threading.Thread繼承,然後重寫__init__方法和run方法:
# !/usr/bin/python # -*- coding: UTF-8 -*- import threading import time exitFlag = 0 class myThread(threading.Thread): # 继承父类threading.Thread def __init__(self, threadID, name, counter): threading.Thread.__init__(self) self.threadID = threadID self.name = name self.counter = counter def run(self): # 把要执行的代码写到run函数里面 线程在创建后会直接运行run函数 print "Starting " + self.name print_time(self.name, self.counter, 5) print "Exiting " + self.name def print_time(threadName, delay, counter): while counter: if exitFlag: (threading.Thread).exit() time.sleep(delay) print "%s: %s" % (threadName, time.ctime(time.time())) counter -= 1 # 创建新线程 thread1 = myThread(1, "Thread-1", 1) thread2 = myThread(2, "Thread-2", 2) # 开启线程 thread1.start() thread2.start() print "Exiting Main Thread"
以上程式執行結果如下:
Starting Thread-1 Starting Thread-2 Exiting Main Thread Thread-1: Thu Mar 21 09:10:03 2013 Thread-1: Thu Mar 21 09:10:04 2013 Thread-2: Thu Mar 21 09:10:04 2013 Thread-1: Thu Mar 21 09:10:05 2013 Thread-1: Thu Mar 21 09:10:06 2013 Thread-2: Thu Mar 21 09:10:06 2013 Thread-1: Thu Mar 21 09:10:07 2013 Exiting Thread-1 Thread-2: Thu Mar 21 09:10:08 2013 Thread-2: Thu Mar 21 09:10:10 2013 Thread-2: Thu Mar 21 09:10:12 2013 Exiting Thread-2
以上就是本篇文章所講述的所有內容,這篇文章主要介紹了python線程模組的相關知識,希望你能藉助資料從而理解上述所說的內容。希望我在這片文章所講述的內容能夠對你有幫助,讓你學習python更加輕鬆。
更多相關知識,請造訪php中文網Python教學欄位。
以上是什麼是python線程模組?九種方法助你了解線程模組的詳細內容。更多資訊請關注PHP中文網其他相關文章!