この記事では主に次の内容について説明しますスレッドとは:スレッドは、オペレーティング システムが計算のスケジューリングを実行できる最小単位です。プロセスはプロセス内に含まれており、プロセス内の実際の処理単位です。スレッドは命令の集合です。
A thread は、プロセス内の単一の順次制御フローを指します。プロセス内で複数のスレッドを同時に実行でき、各スレッドは異なるタスクを並行して実行します。
Python は、スレッドとスレッドという 2 つの標準ライブラリを通じてスレッドをサポートします。 thread は、低レベルのプリミティブなスレッドと単純なロックを提供します。
スレッド モジュールによって提供されるその他のメソッド:
1.threading.currentThread(): 現在のスレッド変数を返します。
2.threading.enumerate(): 実行中のスレッドを含むリストを返します。実行中とは、スレッドの開始後から終了までを指します。開始前と終了後のスレッドは除きます。
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 スレッディング モジュールとは何ですか?スレッドモジュールとは何かを 3 分で理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。