System.Classes.TThread.StaticSynchronize
Delphi
class procedure StaticSynchronize(const AThread: TThread; AMethod: TThreadMethod); static; deprecated 'From C++ just use Synchronize now that it is just a static method';
C++
static void __fastcall StaticSynchronize _DEPRECATED_ATTRIBUTE1("From C++ just use Synchronize now that it is just a static method") (TThread* const AThread, TThreadMethod AMethod);
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
procedure function |
public | System.Classes.pas System.Classes.hpp |
System.Classes | TThread |
説明
警告: StaticSynchronize は非推奨になっています。 Synchronize を使用してください。
メイン スレッド内でメソッド呼び出しを実行します。
StaticSynchronize を利用すると、AMethod で指定された呼び出しがメイン スレッドを使用して実行されます。これによって、マルチ スレッドによる競合を避けることができます。現在のスレッドは、AThread パラメータとして渡されます。
メソッドがスレッドセーフかどうかわからない場合は、確実にメイン スレッドで実行されるように、StaticSynchronize メソッド内からそのメソッドを呼び出します。
メソッドがメイン スレッドで実行されている間は、現在のスレッドの実行は一時停止されます。
警告: メイン スレッド内から StaticSynchronize を呼び出さないでください。無限ループに陥る可能性があります。
メモ: StaticSynchronize は、単に同じパラメータで Synchronize を呼び出すだけです。
メモ: クリティカル セクションや、マルチリードで排他書き込みのシンクロナイザを使用して、スレッドセーフでないメソッドを保護することもできます。