2023年7月7日URLをコピーしました!※本ページはアフィリエイト広告を利用しています今回はPythonでマルチスレッドの処理を実装する方法を解説します。マイコンなどのCPUを使ったアプリケーションでは、処理の優先度に応じで複数のスレッドを切り替えてCPUリソースを有効に活用することが重要となります。組込みアプリケーションでは必須の知識となりますので、ぜひ挑戦してみてください。Pi(ラズベリーパイ)はイギリスのラズベリーパイ財団が教育用に開発したボードコンピュータです。Cortex-A72が4コアとマイコンボードの中では非常に高速な処理能力を持っています。ユーザーがアクセス可能な40ピンのGPIOも搭載しており、外部ハードウェアを制御することが可能です。詳細なスペック等は以下の記事で解説していますので、あわせてご覧ください。Amazon調べ)口コミを見るAmazon\楽天ポイント4倍セール!/楽天市場Yahooショッピングメルカリポチップマルチスレッドとはマルチスレッドとは、一つのプログラム内で複数のタスクを同時に実行する技術のことを指します。これは、一つのプロセス内で複数のスレッドを生成し、それぞれが独立したタスクを実行することで実現されます。マルチスレッドのメリットマルチスレッドでプログラムを実装することは、以下のようなメリットがあります。マルチスレッドを使用すると、一つのプログラム内で複数のタスクを同時に実行できるため、全体の処理時間を短縮することができます。これは、特にI/O操作が多いプログラムや、複数のタスクが互いに依存していない場合に有効です。GUIアプリケーションなどでは、一つのスレッドがユーザーインターフェースを制御し、他のスレッドがバックグラウンドで処理を行うことで、ユーザー体験を向上させることができます。マルチコアまたはマルチプロセッサのシステムでは、マルチスレッドを使用することで、複数のコアまたはプロセッサを同時に活用し、全体のパフォーマンスを向上させることができます。PiはIoTアプリケーション開発の分野で不可欠なツールです。Piがコンパクトでコスト効率が良く、多様なプロジェクトに適用できるためです。Pi上のPythonで動作するマルチスレッドの例です。プログラムは3つのスレッドを作成し、それぞれ異なる優先度で実行します。各スレッドはコマンドラインに文字列を出力します。timeモジュールをインポートします。これらは、スレッドの作成、プロセスの優先度の変更、および遅延の追加に使用されます。high_priority_threadが定義されています。これらの関数はそれぞれ、低、中、および高の優先度で実行されるスレッドのタスクを表します。running”というメッセージを出力します。running”というメッセージを出力します。running”というメッセージを直ちに出力します。high_priority)を作成します。各スレッドのtargetパラメータは、上記で定義した関数に設定されます。start()メソッドを使用して、低優先度のスレッドから順にスレッドを開始します。join()メソッドを使用して、すべてのスレッドが終了するのを待ちます。これにより、プログラムはすべてのスレッドが完了するまで終了しません。done”というメッセージが出力され、プログラムが終了します。全体のPythonコード今回作成した全体のソースコードは以下の通りです。())注意点として、os.nice()関数はプロセス全体の優先度を変更するため、root権限でプログラムを実行する必要があります。multithread.pyコマンドを使用して行います。PiはIoTアプリケーション開発の分野で不可欠なツールです。Piがコンパクトでコスト効率が良く、多様なプロジェクトに適用できるためです。...実行結果このプログラムでは、低優先度のスレッドが最初に開始され、2秒間遅延します。次に、中優先度のスレッドが開始され、1秒間遅延します。最後に、高優先度のスレッドが開始されます。実行すると以下のように高優先スレッドから順に処理が完了していることが確認できました。/オンラインPython学習サービス「PyQTM(パイキュー)」まとめ今回はPythonでマルチスレッドを実装する方法について解説しました。マルチスレッドはWebアプリケーションから組み込み、GUIまで広く使われているテクニックですので、ぜひ活用してみてください。以下の記事で効率的にPythonのプログラミングスキルを学べるプログラミングスクールの選び方について解説しています。最近ではほとんどのスクールがオンラインで授業を受けられるようになり、仕事をしながらでも自宅で自分のペースで学習できるようになりました。スキルアップや副業にぜひ活用してみてください。自分のキャリアアップに必要なカリキュラムがあるプログラミングスクールを探したいん...スクールではなく、自分でPythonを習得したい方には、いつでもどこでも学べる動画学習プラットフォームのUdemyがおすすめです。講座単位で購入できるため、スクールに比べ非常に安価(セール時1200円程度~)に学ぶことができます。私も受講しているおすすめの講座を以下の記事でまとめていますので、ぜひ参考にしてみてください。こんな悩みを解決します。Ud...それでは、また次の記事でお会いしましょう。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。上に表示された文字を入力してください。ExampleMurasan(むらさん)制御系エンジニアです。Piなどのマイコンボードを使ってアプリケーションを開発しています。好きなガジェットについても紹介していきたいと思います。トップページの画像はStableDiffusionというAIによって生成されたイラストです。