When working with interactive applications, a thread may need to break another thread execution in a particular situation. The following are some general examples.
In web applications , the client presses an Abort button. In this case, some activities need to be aborted; for example, a thread downloads something, or a thread runs script, or a thread renders a page.
An application with a thread that runs an interface, and another thread that does intense computations, needs to abort the computation ...