著者:Zhu Jincan
出典:clever101 のコラム
レンダリングとプログラムの説明
レンダリングは次のとおりです。
このプログラムは、指定した画像ファイルのピラミッドを作成するための Qt GUI プログラムです。
マルチスレッドを使用する理由
マルチスレッドを使用する主な利点は 2 つあります。
1. 多くの場合、マルチスレッドはより人道的です。たとえば、インターフェイスの更新では 1 つのスレッドが使用され、バックグラウンド アルゴリズムでは別のスレッドが使用されます。このように、バックグラウンド アルゴリズム スレッドとインターフェイス スレッドは互いに影響しません。
2. 現在のマシンには一般にマルチコア プロセッサが搭載されており、マルチスレッドを使用すると、ハードウェア リソースを最大限に活用できます。
Qt でマルチスレッドを使用する方法
以下では、マルチスレッドを使用して Qt で gdal ライブラリ インターフェイスを呼び出す方法を説明するために、例として画像ピラミッドを作成します。最初に考慮すべきことは、スレッドの計画方法です。一般的に言えば、メイン スレッド、つまり UI スレッドがプログレス バーの更新を担当し、アルゴリズム プロセスがデータの処理を担当します。
1. クラス CreatePyramidThread は、イメージ ピラミッドを作成するために QThread クラスから派生します。主なコードは次のとおりです。