The cancelability type
Assuming the target thread has the cancelability state enabled is the first step; the thread's cancelability type determines what happens next. There are two types: deferred (the default) and asynchronous. When a thread's cancelability type is asynchronous, it can be canceled at any point in time (in fact, it should happen immediately, but is not always guaranteed to); if the cancelability type is deferred (the default), it can only be canceled (terminated) when it hits the next cancelation point.
A cancelation point is a list of (usually blocking) functions (more on this shortly). When the target thread—that, remember, is of the enabled cancelability state and the deferred type—encounters the next cancelation point ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access