Служба синхронизации
Служба предназначена для синхронизации потоков исполнения на основе фьютексов.
Сведения о методах службы приведены в таблице ниже.
Методы службы 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 – код возврата.
|
Нет.
|
В начало