Пример за прекратяване на нишки
Създаваме нишка
Опитваме да я прекратим
Изчакваме я да приключи
pthread_create(&thread, NULL, thread_func, NULL);
pthread_cancel(thread);
pthread_join(thread, NULL);Маркираме нишката като неотменима
... докато работи
... и докато не разрешим прекратяване
... и достигнем точка за прекратяване
pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, NULL);
...
pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL);
pthread_testcancel();Правим нишката отменима по всяко време
Но засега я маркираме в неотменяемо състояние
... докато работи
... и докато не разрешим прекратяване
Нишката се прекратяване автоматично, няма нужда да достигаме до точка за прекратяване
threads-cancel.c
Компилиране на програмата с изрична инструкция към компилатора да поддръжка нишки:
Last updated
Was this helpful?