System.SyncObjs.TLightweightEvent
Delphi
TLightweightEvent = class(TSynchroObject)
C++
class PASCALIMPLEMENTATION TLightweightEvent : public TSynchroObject
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
class | public | System.SyncObjs.pas System.SyncObjs.hpp |
System.SyncObjs | System.SyncObjs |
説明
スレッド間シグナル処理用の軽量メカニズムを表します。
TLightweightEvent を使用して、複数のスレッドの処理を同期させることができます。 通常、スレッドの実行が完全に独立していることはありません。 スレッドは、別のスレッドの実行がある点に到達するのを待たなければならない場合があります。
TLightweightEvent は、アトミックな操作だけを使用して、手動リセット イベントを実装しています。
TLightweightEvent は以下の状態になることができます。
非シグナル | スレッドを独立して実行することはできません。WaitFor を呼び出すスレッドは、スピン ループ内で数サイクルを過ごし、カーネル レベルでブロックされる可能性があります。 |
シグナル | スレッドを独立して実行することができます。 |
TLightweightEvent を使用するのは、非シグナル状態の期間が比較的短い場合にしてください。 WaitFor を呼び出すとたいてい呼び出し側スレッドがブロックされる場合に TLightweightEvent を使用すると、TSimpleEvent を使用した場合と比べてパフォーマンスが少し低くなる可能性があります。