Semafor (pemrograman)

Nilai semafor adalah jumlah resource yang bebas. Bila hanya ada satu resource, sebuah semafor biner dengan nilai 0 atau 1 digunakan. Operasi "P" busy-wait sampai sebuah resource tersedia, kemudian mengklaimnya. "V" adalah kebalikannya; ia membuat sebuah resource tersedia kembali setelah proses selesai menggunakannya. "Init" hanya digunakan di awal untuk menginisialisasi nilai semafor. Operasi "P" dan "V" harus atomic, artinya operasi ini tidak boleh diselingi oleh proses lain dalam semafor yang sama.