====== 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%%''(), [[:documentation:development:opera:pf25:ppgfldr:pgsfldr:spr:01spr022#xref15505|CreateItem]]() ==== Delete ==== [[:documentation:development:opera:pf25:ppgfldr:pgsfldr:spr:01spr036#xref16912|''%%DeleteSemaphore%%'']](), [[:documentation:development:opera:pf25:ppgfldr:pgsfldr:spr:01spr032#xref18938|DeleteItem]]() ==== Query ==== [[:documentation:development:opera:pf25:ppgfldr:pgsfldr:spr:01spr058#xref28338|''%%FindSemaphore%%'']]() ==== Use ==== [[:documentation:development:opera:pf25:ppgfldr:pgsfldr:spr:01spr098#xref18240|''%%LockSemaphore%%'']](), [[:documentation:development:opera:pf25:ppgfldr:pgsfldr:spr:01spr130#xref20743|UnlockSemaphore]](), [[:documentation:development:opera:pf25:ppgfldr:pgsfldr:spr:01spr097#xref32838|LockItem]](), [[:documentation:development:opera:pf25:ppgfldr:pgsfldr:spr:01spr129#xref25491|UnlockItem]]()