_sleepon_broadcast()

Разбудить несколько потоков

Прототип:

#include <pthread.h>
int _sleepon_broadcast( sleepon_t *l,
const volatile void *addr );

Аргументы:

l
Указатель на sleepon_t, который был создан вызовом _sleepon_init().
addr
Дескриптор, ожидающий потоки. Значение addr обычно представляет собой структуру данных, которая управляет ресурсами.

Библиотека:

libc

Описание:

Функции _sleepon_signal() and _sleepon_broadcast() очень похожи:

Ожидающие потоки должны использовать один и тот же sleepon, l и key, addr, чтобы их разбудили.

Чтобы пробудить, вызывающие потоки должны быть заблокированы _sleepon_lock().

Возвращаемое значение:

0
Успешное завершение.
≠0
Возникла ошибка.

Классификация:

ЗОСРВ «Нейтрино»

Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да

Тематические ссылки:

pthread_sleepon_broadcast(), pthread_sleepon_signal(), _sleepon_destroy(), _sleepon_init(), _sleepon_lock(), _sleepon_signal(), _sleepon_unlock()




Предыдущий раздел: Описание API системной библиотеки