マルチスレッド並行処理とは?実装方法と注意点
ほとんどのプログラミング言語では、複数のスレッドを作成して並行処理を実現することができます。以下は、Pythonで多重スレッドを使用して並行処理を実装する方法を示したサンプルコードです:
import threading
def task1():
for i in range(5):
print("Task 1: {}".format(i))
def task2():
for i in range(5):
print("Task 2: {}".format(i))
if __name__ == "__main__":
t1 = threading.Thread(target=task1)
t2 = threading.Thread(target=task2)
t1.start()
t2.start()
t1.join()
t2.join()
print("All tasks are done")
この例では、task1とtask2関数を実行する2つのスレッドを作成しました。 start()メソッドを呼び出すことで、スレッドを実行します。次に、join()メソッドを呼び出して、スレッドの実行が完了するのを待ちます。最後に、すべてのタスクが完了したことを示すために、「すべてのタスクが完了しました」と印刷します。
注意すべきは、マルチスレッドが必ずしも性能向上につながるわけではないことです。スレッドの間でコンテキストの切り替えが必要であり、リソース競合の問題も発生する可能性があります。そのため、マルチスレッドを慎重に使用し、共有リソースを適切に同期制御する必要があります。