Служба синхронизации

Служба предназначена для синхронизации потоков исполнения на основе фьютексов.

Сведения о методах службы приведены в таблице ниже.

Методы службы sync.Sync (интерфейс kl.core.Sync)

Метод

Назначение и параметры метода

Потенциальная опасность метода

Wait

Назначение

Блокирует исполнение вызывающего потока, если значение фьютекса равно ожидаемому.

Параметры

  • [in] ptr – указатель на переменную со значением фьютекса.
  • [in] val – ожидаемое значение фьютекса.
  • [in] delay – максимальное время блокировки в миллисекундах.
  • [out] outDelay – фактическое время блокировки в миллисекундах.
  • [out] rc – код возврата.

Нет.

Wake

Назначение

Возобновляет исполнение потоков, которые является первыми в очереди потоков исполнения, заблокированных вызовами метода Wait с заданным фьютексом.

Параметры

  • [in] ptr – указатель на переменную со значением фьютекса.
  • [in] nThreads – максимальное число потоков, исполнение которых будет возобновлено.
  • [out] wokenCnt – фактическое число потоков, исполнение которых возобновлено.
  • [out] rc – код возврата.

Нет.

PiWait

Назначение

Блокирует вызывающий поток исполнения.

Параметры

  • [in] ptr – указатель на переменную со значением фьютекса.
  • [in] delay – максимальное время блокировки в миллисекундах.
  • [out] rc – код возврата.

Нет.

PiWake

Назначение

Возобновляет исполнение потока, который является первым в очереди потоков исполнения, заблокированных вызовами метода PiWait с заданным фьютексом.

Параметры

  • [in] ptr – указатель на переменную со значением фьютекса.
  • [out] rc – код возврата.

Нет.

В начало