System.Classes.CheckSynchronize
Delphi
function CheckSynchronize(Timeout: Integer = 0): Boolean;
C++
extern DELPHI_PACKAGE bool __fastcall CheckSynchronize(int Timeout = 0x0);
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
function | public | System.Classes.pas System.Classes.hpp |
System.Classes | System.Classes |
説明
CheckSynchronize 関数を使用すると,バックグラウンドスレッドの実行をメインスレッドと同期させることができます。
GUI アプリケーションでは,CheckSynchronize 関数を呼び出す必要はありません。CheckSynchronize は,アプリケーションオブジェクトによって自動的に呼び出されます。非 GUI アプリケーションでは,TThread の Synchronize メソッドを使用する場合に CheckSynchronize を呼び出さなければなりません。それには,WakeMainThread 変数に CheckSynchronize を呼び出す手続きを設定します。
CheckSynchronize を使用するとバックグラウンドスレッドの実行をメインスレッドと同期させることができるので,バックグラウンドスレッドでメソッドを安全に呼び出すことができます。
CheckSynchronize は,メソッドが同期された場合に True を返し,何も行われなかった場合には False を返します。
警告: GUI アプリケーションの WakeMainThread は,動作中のハンドラが割り当てられているので変更しないでください。コンソールアプリケーションは,スレッド同期呼び出しの通知を受け取る必要がある場合に WakeMainThread にハンドラを割り当てることがあります。コンソールアプリケーションがハンドラを割り当てても,同期要求が使用できるという通知の配信が最適化されるだけです。同期自体は,CheckSynchronize を使って実行する必要があります。