LINUX.ORG.RU

История изменений

Исправление ZuBB, (текущая версия) :

ConditionalVariable нагугливается по твоему запросу. Это же не семафор, а мьютекс. Семафор содержит число внутри, например 5

ок. отсюда

Mutex implements a simple semaphore that can be used to coordinate access to shared data from multiple concurrent threads.

Пример отсюда

require 'thread'

mutex = Mutex.new
resource = ConditionVariable.new

a = Thread.new {
  mutex.synchronize {
    # Thread 'a' now needs the resource
    resource.wait(mutex)
    # 'a' can now have the resource
  }
}

b = Thread.new {
  mutex.synchronize {
    # Thread 'b' has finished using the resource
    resource.signal
  }
}

я так и не понял как мне поможет ваш семафор (или рубишный мьютекс)?

Исходная версия ZuBB, :

ConditionalVariable нагугливается по твоему запросу. Это же не семафор, а мьютекс. Семафор содержит число внутри, например 5

ок. отсюда

Mutex implements a simple semaphore that can be used to coordinate access to shared data from multiple concurrent threads.

Пример

require 'thread'

mutex = Mutex.new
resource = ConditionVariable.new

a = Thread.new {
  mutex.synchronize {
    # Thread 'a' now needs the resource
    resource.wait(mutex)
    # 'a' can now have the resource
  }
}

b = Thread.new {
  mutex.synchronize {
    # Thread 'b' has finished using the resource
    resource.signal
  }
}

я так и не понял как мне поможет ваш семафор (или рубишный мьютекс)?