线程状态

线程状态

  线程状态

 

   线程状态

 

 线程方法:

  

public void start() 启动线程

public void run() 执行线程的核心业务功能

public static void sleep(long millis)throws InterruptedException 线程休眠,millis是毫秒,线程休眠以后会让出CPU资源,时间结束以后会自动苏醒

public void interrupt() 中断线程当前状态

public final void join() throws InterruptedException 线程联合,当前线程独占CPU资源
public boolean isInterrupted() 判断测试线程是否已经中断

public final boolean isAlive() 判断测试线程是否处于活动状态,只有未调用start之前和死亡以后返回值是false

public static void yield() 暂停当前线程,执行其它线程

public final String getName() 获取线程名称

public final int getPriority() 获取线程的优先级
public final void setName(String name) 设置线程的名称

public final void setPriority(int newPriority) 设置线程的优先级

停止线程

1.不推荐使用JDK提供的stop(),destroy()方法
2.推荐线程自己停止下来
3.建议使用一个标志位进行终止变量当flag=false,则终止线程运行
public class TestStop implements Runnable{

    private boolean flag=true;

    @Override
    public void run() {

        int i=0;
        while (flag){
            System.out.println("run-------"+i++);
        }

    }

    public void stop(){
        this.flag=false;
    }

    public static void main(String[] args) {

        TestStop testStop=new TestStop();
        new Thread(testStop).start();

        for (int i = 0; i < 100; i++) {

            if(i==90){
                testStop.stop();
                System.out.println("该线程停止");
            }
            System.out.println("好好学习Java"+i);
        }

    }
}

 

上一篇:Wallys Qualcomm-Atheros IPQ6010 DR6018C V01 Support:QCN9074 WiFi 6E Card 802.11ax


下一篇:Object 的Wait Notify NotifyAll 源码解析