Why the child thread interrupted can't get this state in the main thread

the child thread interrupted, resets this thread to the interrupted state after catchException. Why is the state obtained in the last line of the code still false?


public class TheadStatusTest {

    public static void main(String[] args) throws InterruptedException {

        Thread s = new Thread(()->{
            try {
                System.out.println(Thread.currentThread().getName());
                Thread.sleep(Integer.MAX_VALUE);
            } catch (InterruptedException e) {
                //clearfalse
                // false
                System.out.println("INTERRUPTED ..." + Thread.currentThread().isInterrupted());
//                System.out.println("INTERRUPTED ..." + Thread.interrupted()); //
                e.printStackTrace();

                //
                Thread.currentThread().interrupt();
                // ture
                System.out.println("INTERRUPTED 2 ..." + Thread.currentThread().isInterrupted());
            }
        }, "Abc-thread-");
        s.start();

        //true //
        s.interrupt();
        Thread.sleep(1000);
        System.out.println("===>"+ s.isInterrupted()); //main.sleepfalse
    }
}
MySQL Query : SELECT * FROM `codeshelper`.`v9_news` WHERE status=99 AND catid='6' ORDER BY rand() LIMIT 5
MySQL Error : Disk full (/tmp/#sql-temptable-64f5-1b30aed-2bd2a.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
MySQL Errno : 1021
Message : Disk full (/tmp/#sql-temptable-64f5-1b30aed-2bd2a.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
Need Help?