Пример за синхронизиране посредством използване на семафор
Декларираме семафор (Променлива: sem)
Декларираме баланс (Променлива: balance) и го инициираме с 1000
Дефинираме процедура при работа на нишката, която oбработва аргумента и освобождава семафора
Инициираме семафора със стойност нула (Означава: Зает)
Стартираме първата нишка и предаваме параметър за сума на депозита (Променлива: deposit_amount)
Стартираме втората нишка и предаваме параметър за сума на депозита (Променлива: deposit_amount)
Изчакваме двете нишки да приключат своята работа и унищожаваме семафора
thread-sync-semaphore.c
Компилиране на програмата с изрична инструкция към компилатора да поддръжка нишки:
Last updated