I wanted to start a computation and terminate it on user Cancel. You say that calling Thead.stop() unlocks all monitors and raises ThreadDeath exception. This means that finally is still called.
Suppose I do not care about the locks but want to release the resources allocated so far. I would like the canceller to know/wait until thread has finished released its allocations. Suppose the finally section has an infinite loop in the finally section. Will thread.join succeed to that thread?