Sign in Join
FPDoc Onlineexperiment

SyncObjs unit

Synchronization objects.

The syncobjs unit implements some classes which can be used when synchronizing threads in routines or classes that are used in multiple threads at once. The TCriticalSection class is a wrapper around low-level critical section routines (semaphores or mutexes). The TEventObject class can be used to send messages between threads (also known as conditional variables in POSIX threads).

Classes and records

ELockExceptionclassLocking error exception.
ELockRecursionExceptionclassLock recursion exception.
ESyncObjectExceptionclassException object used in unit syncobjs.
IGuardianinterface
TCountdownEventclass
TCriticalSectionclassCritical section.
TEventObjectclassEvent propagation object.
TGuardianclass
THandleObjectclassClass encapsulating an operating system handle.
TInterlockedclass
TLockGuardrecord
TMutexclass
TSemaphoreclass
TSimpleEventclassSimple, anonymous event.
TSpinLockrecord
TSpinWaitrecord
TSynchroObjectclassAbstract synchronization object.

Types

PPosixSemaphoretype
PSecurityAttributestypeDummy type.
TBitOffsettype
TCriticalSectionGuardtype
TEventtypeAlias for TEventObject.
TEventHandletypeHandle type.
THandleObjectArraytype
TMutexGuardtype
TPosixSemaphoretype
TSemaphoreGuardtype
TSpinFunctionprocedure type
TWaitResultenumerationUnix wait result.

Constants

INFINITEconstantInfinite waiting time.

Uses

An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.