Что такое семафор

Semaphore предоставляет нам возможность контролировать доступ нескольких поток к общему ресурсу. Семафор состоит из очереди потоков и счетчика значений. Счетчик значений используется семафором, чтобы решить, должен ли поток получить доступ к общему ресурсу или нет. Счетчик значений изменяется при вызове методов signal() или wait():

class DispatchSemaphore : DispatchObject {
  func signal() -> Int { } // Signals (increments) a semaphore.
  func wait() { } // Waits for, or decrements, a semaphore.
}

 

Oct. 15, 2023, Источник