スレッドは同じプロセス内で同時に実行され、メモリ空間を共有します。 Python の グローバル インタプリタ ロック (GIL) は、スレッドを一度に 1 つの実行に制限するため、I/O バウンドのタスクには最適ですが、CPU を集中的に使用するタスクには最適ではありません。
例: 単純なスレッド化プログラム
import threading def print_numbers(): for i in range(5): print(f"Number: {i}") # Create and start threads thread1 = threading.Thread(target=print_numbers) thread2 = threading.Thread(target=print_numbers) thread1.start() thread2.start() thread1.join() thread2.join()
マルチプロセッシングは、GIL をバイパスして、個別のメモリ空間を持つ個別のプロセスを作成します。データ処理やシミュレーションなど、CPU に依存するタスクに最適です。
例: マルチプロセッシングの基本
from multiprocessing import Process def print_numbers(): for i in range(5): print(f"Number: {i}") if __name__ == "__main__": process1 = Process(target=print_numbers) process2 = Process(target=print_numbers) process1.start() process2.start() process1.join() process2.join()
スレッドを使用すると、Python は単一プロセス内でマルチタスクを実行します。 Python はプロセスを使用して、複数のコアにわたる真の並列処理を実現します。これらを組み合わせることで、コードが効率的かつスケーラブルになります。
_ ? Python での同時実行性の習得に乾杯!_
以上がPython マルチスレッドとマルチプロセッシングの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。