Книга: Программирование для 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(). Обратное преобразование невозможно.

Оглавление книги


Генерация: 1.440. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз