Завершить поток
#include <pthread.h>int pthread_abort( pthread_t thread );
libc
Функция pthread_abort() завершает указанный поток. Завершение происходит незамедлительно и вне зависимости от имеющихся точек остановки потока. Обработчики точек остановки или потоко-специфичные деструкторы (TLS) не вызываются. Прерывание потока не освобождает какие-либо ресурсы процесса, включая, но не ограничиваясь, мьютексами и файловыми дескрипторами. (Поведение последующих POSIX-вызовов, следующих после после вызова pthread_abort() не определено).
Статус потока PTHREAD_ABORTED
будет одинаковым для указанного потока и потока, находящегося в присоединенном (joined) состоянии. Статус PTHREAD_ABORTED
является константным выражением типа void *
. Его значение не соответствует ни одному указателю на объект в памяти или значениям NULL
и PTHREAD_CANCELED
.
Побочными эффектам завершения потока вызовом фунции стандарта POSIX 1003.1 являются такие эффекты, которые могут наблюдаться для однопоточного процесса при вызове фунции стандарта POSIX 1003.1, перываемой сигналом и возвращающей значение EINTR
. Любые подобные побочные эффекты возникают до завершения потока.
ЗОСРВ «Нейтрино»
pthread_cancel(), pthread_detach(), pthread_exit(), ThreadDestroy()
Предыдущий раздел: Описание API системной библиотеки