Python has threads, but there are several limitations.
When a Future is cancelled, the task is not aware of the cancellation. This is because there is no `mayInterruptIfRunning`. This means cancelling a future just marks the future as cancelled, but doesn't actually notify they threads they should stop.
There is no thread interruption. It's not possible to stop waiting on several core types.
-
Conditions can only be interrupted by the notifier.