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