Tietokoneohjelmoinnissa semafoori on signalointitekniikka, joka käyttää tietokoneohjelmointikielen erityisiä muuttujia. Tätä signaalia käytetään edustamaan laskureita ja tosi-vääriä lausuntoja. Useimmat ohjelmistokielet ovat hyväksyneet semaforien käytön. Se on yleisempi objektiohjelmoinnissa, mukaan lukien Java®, C#ja Smalltalk®.
Semaforia on käytetty tietokoneohjelmoinnissa useita vuosikymmeniä. Nämä tekniikat toteutetaan tyypillisesti matalan tason ohjelmistokoodissa. Tätä käytetään tyypillisesti synkronointitekniikkana sovellusten liipaisimien ja tapahtumien hallintaan. Semaforimuuttujaa seurataan muutosten varalta, mikä ilmaisee muutoksen prosessissa sovelluksen sisällä.
Semaforin luominen ohjelmaan tekee ohjelmistosta intuitiivisemman. Ohjelmistokehittäjät pitävät tätä koodaustyyliä parhaana käytäntönä, koska se helpottaa koodin ylläpitoa. Boolen muuttujien käyttö ohjelmistossa mahdollistaa paremman loogisen kulun. Tätä voidaan käyttää kulkusilmukassa, jotta prosessi voi jatkua, kunnes Boolen lippu muuttuu.
Tietokoneohjelmointi on erittäin monimutkainen looginen tiedonkulku ja prosessivaiheet. Tämä koodaus vaatii lippujen ja laskurilaitteiden käyttöä ohjelman prosessien logiikan kulun hallitsemiseksi. Semaforin käyttäminen on hyvä käytäntö, koska se helpottaa koodin lukemista.
Ajastin on esimerkki ohjelmiston semaforista. Useimmat ajastinrutiinit edellyttävät liiketoimintavaiheiden suorittamista aikataulutettujen tehtävien perusteella. Ajastinrutiini tarkistaa tietokonejärjestelmän sisäisen kellon määrittääkseen milloin aloittaa ja lopettaa. Tämä on samanlainen kuin herätyskello, joka on asetettu soimaan tiettyyn aikaan. Ajastin pysyy lepotilassa, kunnes tietokoneen kello saavuttaa ennalta määritetyn asetuksen.
Monet tietokoneohjelmat vaativat laskuriprosesseja. Tämä on logiikan kulku, jonka on suoritettava tietty määrä tai iteraatioita ennen valmistumista. Semaforia käytetään tyypillisesti laskurirutiinissa edustamaan vaadittua iteraatioiden määrää. Ohjelma poistuu virtaussilmukasta, kun laskuri vastaa ennalta määriteltyä iteraatioasetusta.
Semaforia käytetään tyypillisesti tietokoneiden käyttöjärjestelmien sisäisissä prosesseissa. Nämä matalan tason prosessit ovat tarpeen sen varmistamiseksi, että tietokone pystyy hallitsemaan useita tehtäviä. Lippujen ja laskurilogiikan käyttö on yleisempi käyttöjärjestelmässä, koska se on vastuussa monimutkaisten tehtävien koordinoinnista useille tietokoneen ohjelmille.