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

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

Mandelbrot

マンデルブロの例では、Qt を使ったマルチスレッドプログラミングを実演しています。ワーカースレッドを使用して、メインスレッドのイベントループをブロックせずに重い計算を実行する方法を示しています。

Producer and Consumer using Semaphores

セマフォを使用した Producer と Consumer の例では、QSemaphore を使用して、Producer スレッドと Consumer スレッドで共有される循環バッファへのアクセスを制御する方法を示します。

Producer and Consumer using Wait Conditions

Producer and Consumer using Wait Conditions の例では、QWaitCondition と QMutex を使用して、プロデューサースレッドとコンシューマースレッドで共有される循環バッファへのアクセスを制御する方法を示しています。

Queued Custom Type

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

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

これらの例では、並行プログラミングの基本的なテクニックを簡単な問題に適用する方法を示します。

Image Scaling

画像を非同期にダウンロードして拡大縮小する方法を示します。

Prime Counter

並行処理の進行状況を監視する方法を示します。

Word Count

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

© 2025 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.