Qt のスレッドサポート
Qt では、プラットフォームに依存しないスレッドクラス、スレッドセーフなイベント投稿方法、スレッド間のシグナルスロット接続という形でスレッドサポートを提供しています。これにより、移植性の高いマルチスレッド Qt アプリケーションを簡単に開発し、マルチプロセッサ・マシンを活用することができます。また、マルチスレッドプログラミングは、アプリケーションのユーザーインターフェイスをフリーズさせることなく、時間のかかる操作を実行するのに便利なパラダイムです。
Qtの以前のバージョンでは、スレッドサポートなしでライブラリをビルドするオプションがありました。Qt 4.0 以降、スレッドは常に有効になっています。
トピック
これらの記事は、読者がマルチスレッドアプリケーションに関する基本的な知識を持っていることを前提としています。
スレッドクラス
これらのクラスはスレッドアプリケーションに関連します。
シーケンスから値を選択し、それらをすべて並列に組み合わせる | |
シーケンスから値を変換し、それらをすべて並列に組み合わせる | |
タスクを別のスレッドで実行する簡単な方法 | |
別スレッドでタスクを実行する設定可能な方法 | |
整数に対するプラットフォーム非依存のアトミック演算 | |
ポインタに対するプラットフォームに依存しないアトミック操作を提供するテンプレートクラス | |
非同期計算の結果を表す | |
QFuture の同期を簡素化する便利なクラス | |
シグナルとスロットを使ったQFutureの監視を可能にする | |
スレッド間のアクセス・シリアライズ | |
ミューテックスのロックとアンロックを簡素化する便利なクラス | |
QFuture がアクセスする計算結果を保存する方法 | |
読み取りアクセスのための読み書きロックのロックとロック解除を簡素化する便利なクラス | |
読み書きロック | |
スレッド間のアクセス・シリアライズ | |
すべての実行可能オブジェクトの基本クラス | |
一般的なカウント・セマフォ | |
QSemaphore::release() 呼び出しの例外安全な延期 | |
プラットフォームに依存しないスレッド管理方法 | |
QThreads のコレクションを管理する | |
スレッドごとのデータ格納 | |
スレッドを同期させるための条件変数 | |
書き込みアクセスのための読み書きロックのロックと解除を簡素化する便利なクラス | |
低レベルのスレッドプリミティブを使用せずにマルチスレッドプログラムを書くことを可能にする高レベルAPI | |
タスクパラメータの調整に使用 | |
QtFuture::WhenAnyResult は QtFuture::whenAny() の結果を表すために使用されます。 | |
注意: Qt のスレッドクラスは、Win32 や pthreads などのネイティブのスレッド API を使って実装されています。そのため、同じネイティブ API のスレッドで使用することができます。
©2024 The Qt Company Ltd. 本書に含まれるドキュメントの著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。