Книга: Программирование для Linux. Профессиональный подход
Листинг 4.5. (detached.c) Шаблон программы, создающей отсоединенный поток
Листинг 4.5. (detached.c) Шаблон программы, создающей отсоединенный поток
#include <pthread.h>
void* thread_function(void* thread_arg) {
/* Тело потоковой функции... */
}
int main() {
pthread_attr_t attr;
pthread_t thread;
pthread_attr_init(&attr);
pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
pthread_create(&thread, &attr, &thread_function, NULL);
pthread_attr_destroy(&attr);
/* Тело основной программы... */
/* Дожидаться завершения второго потока нет необходимости. */
return 0;
}
Даже если поток был создан ожидаемым, его позднее можно сделать отсоединенным. Для этого нужно вызвать функцию pthread_detach()
. Обратное преобразование невозможно.
Оглавление статьи/книги
Похожие страницы
- Листинг 10.1. (simpleid.c) Отображение идентификаторов пользователя и группы
- Достоинства и недостатки потоков
- СТРУКТУРА ПРОСТОЙ ПРОГРАММЫ
- ПРИМЕР ПРОСТОЙ ПРОГРАММЫ НА ЯЗЫКЕ СИ
- 1.2.5. Пример программы
- 24.7. Использование программы-твикера
- Стандартные потоки: stdin, stdout, stdeir, stdaux, stdprn.
- Листинг 15.11. Код для загрузки файла с Web-сервера
- Шаблон
- 1.2 Процесс, контекст процесса и потоки
- Удаление шаблонов узлов STP
- Не допускайте того, чтобы поток пользовательского интерфейса блокировался на длительное время