System.SyncObjs.TLightweightEvent

提供: Appmethod Libraries
移動先: 案内検索

System.SyncObjs.TSynchroObjectSystem.TObjectTLightweightEvent

Object Pascal

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 を使用した場合と比べてパフォーマンスが少し低くなる可能性があります。

コード例

関連項目