System.Classes.TThread.StaticQueue
Delphi
class procedure StaticQueue(const AThread: TThread; AMethod: TThreadMethod); static; deprecated 'From C++ just use Queue now that it is just a static method';
C++
static void __fastcall StaticQueue _DEPRECATED_ATTRIBUTE1("From C++ just use Queue 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 |
説明
警告: StaticQueue は非推奨になっています。 Queue を使用してください。
メイン スレッド内でメソッド呼び出しを非同期に実行します。
StaticQueue を利用すると、AMethod で指定された呼び出しがメイン スレッドを使用して実行されます。これによって、マルチ スレッドによる競合を避けることができます。現在のスレッドは、AThread パラメータとして渡されます。
メソッドがスレッドセーフかどうかわからない場合は、確実にメイン スレッドで実行されるように、Synchronize メソッド内または StaticQueue メソッド内からそのメソッドを呼び出します。
Synchronize とは違って、現在のスレッドの実行が継続されます。メイン スレッドは、最終的にキューに入っているすべてのメソッドを処理します。
警告: メイン スレッド内から StaticQueue を呼び出さないでください。無限ループに陥る可能性があります。
メモ: StaticQueue は、単に同じパラメータで Queue を呼び出すだけです。
メモ: クリティカル セクションや、マルチリードで排他書き込みのシンクロナイザを使用して、スレッドセーフでないメソッドを保護することもできます。