# Semaphore

An item used to arbitrate access to shared resources.

### Description

Semaphores are used to protect shared resources. Before accessing a shared resource, a task must first try to lock the associated semaphore. Only one task at a time can have the semaphore locked at any one moment. This prevents multiple tasks from accessing the same data at the same time.

### Folio

kernel

### Item Type

SEMA4NODE

### Create

``CreateSemaphore`(), CreateItem()`

### Delete

`DeleteSemaphore`(), DeleteItem()

### Query

`FindSemaphore`()

### Use

`LockSemaphore`(), UnlockSemaphore(), LockItem(), UnlockItem()