java中一个子线程如何通过interrupt手段来停止另外一个子线程

下面给出了一个子线程通过interrupt手段,来停止另外一个子线程的例子。
马克- to-win:马克 java社区:防盗版实名手机尾号: 73203。
例:1.5.2_2-本章源码
class ThreadMark_to_win extends Thread {
    Thread st1;
    public void run() {
        try {
            Thread.sleep(100);
        } catch (InterruptedException e) {
            System.out.println("我是子线程,被打断");
        }
        st1.interrupt();
        try {
            Thread.sleep(300);
        } catch (InterruptedException e) {
            System.out.println("我是子线程,第二次睡时被打断");
            return;
        }
    }
    public void setSilblingThread1(Thread t1) {
        st1 = t1;
    }
}
class ThreadMark_to_win1 extends Thread {
    Thread st;
    public void run() {
        try {
            Thread.sleep(200);
        } catch (InterruptedException e) {
            System.out.println("我是子线程1,被打断");
        }
        st.interrupt();
    }
    public void setSilblingThread(Thread t1) {
        st = t1;
    }
}
public class Test {
    public static void main(String[] args) {
        ThreadMark_to_win st = new ThreadMark_to_win();
        ThreadMark_to_win1 st1 = new ThreadMark_to_win1();
        st.setSilblingThread1(st1);
        st1.setSilblingThread(st);
        st.start();
        st1.start();

    }
}

输出结果:
我是子线程1,被打断
我是子线程,第二次睡时被打断

后续:
马克-to-win:在上面例子中用st.setSilblingThread1(st1);和st1.setSilblingThread(st);把子线程的指针或参考相互传递给对方后, 用和过去一样的方法互相中断线程。