Agree. If genuine pre-emptive cancellation from the outside is needed, all languages support the primitive which allows that: a process.
Many of the tradeoffs that come from using a process rather than a thread descend directly from that property of support for arbitrary-point cancellation.
Many of the tradeoffs that come from using a process rather than a thread descend directly from that property of support for arbitrary-point cancellation.