Interrupt is used to safely signal a Thread that it should stop (or at least interrupt) what it is doing. Calling the interrupt() method does not change the state of the Thread, it sets a flag to tell the Thread it has been interrupted. Certain API will respond to interrupts with an InterruptedException, things like wait() and Thread.sleep(). Others will not allow interruption. In your code it is always the programmer's responsibility to respond to the interruption, either (or both) by catching InterruptedExceptions, or regularly checking the interruption status of the Thread (currentThread.isInterrupted() or Thread.interrupted()).
You shouldn't reset the interrupt status of the Thread from outside the Thread. You can use the static method Thread.interrupted() to both check if the current thread was interrupted and to clear the interrupt flag.
Interrupts are not like Thread.stop(), or suspend() which force a Thread state and may stop a Thread from running. These methods (and the resume() method) are deprecated because they are unsafe. The interrupt flag puts the onus of stopping and pausing onto the Programmers, which allows them to ensure safety of the response to stop executing.