JAVA学习(14) 多线程--Thread类

必须实现Thread的run方法,run方法将作为线程入口。外部调用外部线程调用start启动线程。interrupt将触发InterruptedException 异常,线程中处理InterruptedException 异常用来处理线程安全终止。sleep函数休眠线程,并且会响应InterruptedException 异常

创建2个线程,1个用来循环计数,另一个在计数大于10时关闭计数线程。

package com.test.java;

public class Test1 {
private  Mythread  mythread;
private  int data = 0;
    public Test1()
    {
        mythread = new Mythread();
        mythread.start();

        new Mythread2().start();
    }
    public class Mythread extends Thread{

        @Override
        public void run() {
            // TODO 自动生成的方法存根
            while (true) {
                data++;
                System.out.println(data);
                try {
                    sleep(500);
                } catch (InterruptedException e) {
                    // TODO 自动生成的 catch 块
                    e.printStackTrace();
                    System.out.println("InterruptedException");
                    return;

                }
            } 

        }

    }
    public class Mythread2 extends Thread {

        @Override
        public void run() {
            // TODO 自动生成的方法存根 
            while (true) {
                try {
                    sleep(1);
                } catch (InterruptedException e) {
                    // TODO 自动生成的 catch 块
                    e.printStackTrace();
                }
                if (data>10) { 
                    mythread.interrupt();
                    break;   

                }
            }

        }

    }

    public static void main(String[] args) {
            Test1 test1 = new Test1();
  }
}

你可能感兴趣的:(java)