Kill Thread in Pthread Library

Sajad Bahmani picture Sajad Bahmani · Jan 18, 2010 · Viewed 93.2k times · Source

I use pthread_create(&thread1, &attrs, //... , //...); and need if some condition occured need to kill this thread how to kill this ?

Answer

Antti Huima picture Antti Huima · Jan 18, 2010

First store the thread id

pthread_create(&thr, ...)

then later call

pthread_cancel(thr)

However, this not a recommended programming practice! It's better to use an inter-thread communication mechanism like semaphores or messages to communicate to the thread that it should stop execution.

Note that pthread_kill(...) does not actually terminate the receiving thread, but instead delivers a signal to it, and it depends on the signal and signal handlers what happens.