首頁 >後端開發 >Python教學 >什麼是python線程模組?九種方法助你了解線程模組

什麼是python線程模組?九種方法助你了解線程模組

乌拉乌拉~
乌拉乌拉~原創
2018-08-21 19:43:581490瀏覽

對於第一次接觸到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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn