マルチスレッド化の概要

重いタスクはスレッド内で実行され、アプリケーション GUI がフリーズするのを防止します。隠されたスレッドも一部ありますが、その他についてはコントロール可能です。

Map Builder でのスレッドの使用

すべての Map Builder のインポート・タスクは、GUI 反応性を確実にするために異なるスレッドで実行されます。つまり、インポート中の現在のファイルが終了するのを待つことなく、異なる形式のファイルのバッチを開くことができるのです。これは基本的に、専用スレッドの関連するデータ・ソースの開始メソッドを呼び出して行われます。

地図のラベリングでのスレッドの使用

JViews Maps の地図ラベリング・メカニズムは、バックグラウンド・スレッドに実装されています。そのため、CPU 集約的になることがあるレイアウト・アルゴリズムによる遅延を起こすことなく、続けてビューのズーム、パン、およびスクロールを実行できます。
ビューとのユーザー・インタラクションが停止すると、タイマーが始動します。一定の時間内に (大体、数百ミリ秒) 次の変更が起きなければ、ラベル・レイアウト・プロセスが専用バックグラウンド・スレッドで開始されます。再度ビューが変更されるまでにこれが終了していない場合、次のタスクがすぐ始動できるように、現在のタスクはキャンセルされます。