System.SyncObjs.TCriticalSection

提供: RAD Studio API Documentation
移動先: 案内検索

System.SyncObjs.TSynchroObjectSystem.TObjectTCriticalSection

Delphi

TCriticalSection = class(TSynchroObject)

C++

class PASCALIMPLEMENTATION TCriticalSection : public TSynchroObject

プロパティ

種類 可視性 ソース ユニット
class public
System.SyncObjs.pas
System.SyncObjs.hpp
System.SyncObjs System.SyncObjs


説明

TCriticalSection により、マルチスレッド アプリケーションにおいて、あるスレッドが、コードのブロックへ他のスレッドがアクセスするのを一時的に防ぐことができます。

TCriticalSection を使用すると、オペレーションが完了しないうちに、別のスレッドが特定のコードのセクションを実行すると、壊れる可能性があるオペレーションを守ることができます。クリティカル セクションは、1 度に 1 つのスレッドだけか入れるようにするゲートのような役割をします。これらは、他のスレッドの実行をブロックするため、クリティカル セクションの多用は、パフォーマンスを著しく低下させる可能性があります。

クリティカル セクションは、すべてのスレッドから利用できなければならないため、スコープ内でグローバルである必要があります。各スレッドにおいて、クリティカル セクションによって守られているオペレーションを干渉する可能性のあるアクションは、必ず Acquire または Enter メソッドを呼び出した後に実行させます。関連オペレーションに対してクリティカル セクションを使用しないスレッドは、バグの原因となる場合があります。

関連項目

コード サンプル