Sorry, I’m not a native English speaker, and the following document does confuse me for some time.
Which confused me is I think Future has a cancelable running state when I reading the doc, like:
- Future running and non-cancelable → cancel return False
- Future running and cancelable → cancel return True
I think the more appropriate expression is:
The method returns False if the call cannot be cancelled because it is already running or has finished.
By the way, my native language is Chinese. I also tried some translators and the way they translated this sentence into Chinese implies that “Future” has a cancelable running state. Seems like Chinese is a Bamboo-like language. The logic goes step by step. If a conjunction appears, it acts like parentheses in a program.