Книга: Программирование для Linux. Профессиональный подход
4.1.3. Значения, возвращаемые потоками
4.1.3. Значения, возвращаемые потоками
Если второй аргумент функции pthread_join()
не равен NULL, то в него помещается значение, возвращаемое потоком. Как и потоковый аргумент, это значение имеет тип void*
. Если поток возвращает обычное число типа int
, его можно свободно привести к типу void*
, а затем выполнить обратное преобразование по завершении функции pthread_join()
.[13]
Программа, представленная в листинге 4.4, в отдельном потоке вычисляет n-е простое число и возвращает его в программу. Тем временем функция main()
может продолжать свои собственные вычисления. Сразу признаемся: алгоритм последовательного деления, используемый в функции compute_prime()
, весьма неэффективен. В книгах по численным методам описаны более мощные алгоритмы (например, "решето Эратосфена").
- Выражения в значениях по умолчанию для доменов
- Значения переменных по умолчанию
- 1. Пустые значения (Empty-значения)
- 2. Неопределенные значения (Null-значения)
- 3. Null-значения и общее правило вычисления выражений
- 4. Null-значения и логические операции
- 5. Null-значения и проверка условий
- 3. Схемы отношений. Именованные значения кортежей
- 3. Значения по умолчанию
- 4.3.1. Значения errno
- Функции как значения
- Условные обозначения