この記事では、Pythonでクラスを利用してスレッドを構築する方法について説明します。
その前に、スレッドを定義してみましょう。
スレッドとは?
スレッドとは、並列実行の流れのことです。
これは、コードが2つのことを同時に進行させることを意味します。
スレッドは、プロセスが実行のためにスケジュールされているときに、実行のための処理の最小単位です。
Pythonにおけるスレッドの利点
- 複数の CPU を持つコンピュータシステムにおいて、複数のスレッドを同時 に実行することができます。その結果、追加のアプリケーションを同時に実行することができ、処理速度を向上させることができます。
- CPUが1つの場合、多数の場合のいずれにおいても、入力の応答性が良い。
- スレッドはローカル変数を持ちます。
- あるスレッドでグローバル変数が更新されると、他のスレッドにも影響するため、グローバル変数のメモリはスレッド全体で共有されていることになる。
新しいスレッドを立ち上げる
スレッドが何であるか分かったところで、スレッドの作り方を見てみましょう。
WindowsとLinuxの両方に対応しています。
thread.start_new_thread ( func, args[, kwargs] ) |
クラスを使ったスレッドの実装
さて、クラスを使ってどのようにスレッドを形成するかを理解するために、以下のコードを見てください。
この場合のクラス名はc1です。
クラスc1の中に、objとobj1という2つのオブジェクトが作成されます。
スレッドはObj.start()で開始されます。
1
2
3
4
5
6
7
8
9
10
|
import threading
class c1(threading.Thread) :
def run( self ) :
for _ in range ( 2 ) :
print (threading.currentThread().getName())
obj = c1(name = 'Hello' )
obj1 = c1(name = 'Bye' )
obj.start() obj1.start() |
コードの出力は次のようになります。
Hello Hello Bye Bye |
まとめ
あなたはPythonプログラミング言語を使ってスレッドを構築する方法を学んだだけです。
このチュートリアルは気に入りましたか?いずれにせよ、以下のチュートリアルを見てみることをお勧めします。
- Pythonで同期 – Pythonでスレッドを同期させる
- Pythonのデーモンスレッド – What Are They and How to Create Them?
- Pythonのマルチスレッド。簡単なリファレンス
お時間を割いていただきありがとうございました! 何か新しいことを学べたなら幸いです!