スレッドと並行プログラミングの例

マルチスレッド計算を用いてレンダリングされたマンデルブロフラクタル

Qt を使用すると、マルチスレッドアプリケーションを簡単に作成できます。シグナルとスロットを使用することで、アプリケーション内のスレッド間で安全に通信を行うことができます。

Mandelbrot

マンデルブロの例は、Qt を使用したマルチスレッドプログラミングを示しています。この例では、ワーカースレッドを使用して、メインスレッドのイベントループをブロックすることなく、負荷の高い計算を実行する方法を示しています

Producer and Consumer using Semaphores

「セマフォを使用したプロデューサーとコンシューマ」の例では、QSemaphore を使用して、プロデューサースレッドとコンシューマースレッドで共有される循環バッファへのアクセスを制御する方法を示しています

Producer and Consumer using Wait Conditions

「待機条件を使用したプロデューサーとコンシューマー」の例では、QWaitCondition および QMutex を使用して、プロデューサースレッドとコンシューマースレッドが共有する循環バッファへのアクセスを制御する方法を示しています

Queued Custom Type

「キュー化されたカスタム型」の例では、キュー化されたシグナルとスロットを使用して、スレッド間でカスタム型を送信する方法を示しています

QtConcurrent 名前空間には、簡単な並行プログラミングを行うためのクラスや関数がまとめられています。

これらの例では、並行プログラミングの基本技術を単純な問題に適用する方法を示しています。

Image Scaling

画像を非同期でダウンロードおよびリサイズする方法を示します。

Prime Counter

並行操作の進行状況を監視する方法を示します

Word Count

map-reduce アルゴリズムの使用方法を示します。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.